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.

Reply via email to