We did not do this kind of transformation for any port beyond the minimum of having the port use wide-int rather than double-int. we did do a lot of this in the common code, especially in the code that was just not correct for types beyond 64 bits.
Our motivation was that this is already a huge patch and going down that road for some of the crusty old ports would have made the patch just bigger. so we limited ourselves to the places in the common code that were obstructions to port writers to make large types work. I should point out that there are even a lot of places in the common code where we left the old code alone as long as it was correct for larger types. For testing purposes, we made no changes that were not bit for bit compatible for code of 64 bits or shorter. There are some places where the right transformation would yield better code, but we left those for later so we could test this patch in a sane way. Kenny On Nov 24, 2013, at 3:34 AM, Uros Bizjak <ubiz...@gmail.com> wrote: > On Sat, Nov 23, 2013 at 8:22 PM, Mike Stump <mikest...@comcast.net> wrote: >> Richi has asked the we break the wide-int patch so that the individual port >> and front end maintainers can review their parts without have to go through >> the entire patch. This patch covers the i386 port. > > Should this patch also address construction of 128bit immediates? One > example is in ix86_build_signbit_mask, where we have to use special > tricks to create them. > > You can find other interesting places by grepping config/i386/* > sources for HOST_BITS_PER_WIDE_INT checks. These remains from times > when wide_int was 32 for i686 host, and IMO should be addressed by > wide-int patch. > > Thanks, > Uros.