PATCH: Enable TFmode for SSE2

Richard Guenther richard.guenther@gmail.com
Sat Jun 28 19:31:00 GMT 2008


On Sat, Jun 28, 2008 at 8:29 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
> H.J. Lu wrote:
>
>> Here is the first patch to enable TFmode for ia32.  The current
>> __builtin_fabsq and __builtin_copysignq don't work with TARGET_64BIT
>> when crossing compiling from Linux/ia32 to Linux/x86-64 since they
>> need HOST_BITS_PER_WIDE_INT >= 64:
>>
>>    case TImode:
>>    case TFmode:
>>      imode = TImode;
>>      vec_mode = VOIDmode;
>>      gcc_assert (HOST_BITS_PER_WIDE_INT >= 64);
>>      lo = 0, hi = (HOST_WIDE_INT)1 << shift;
>>     break;
>>
>> It is the same problem with TImode.
>
> You can create a TImode/TFmode sign bitmask via CONST_VECTOR, just look at
> ix86_build_const_vector for an example. TFmode mask is currently created as
> CONST_DOUBLE just because 128bit modes were enabled for 64bit targets only
> and this was the simplest way ;)
>
> And we will again avoid 64bit HWI.

Why not simply use 64bit HWI on i?86?

Richard.



More information about the Gcc-patches mailing list