recent troubles with float vectors & bitwise ops

Paolo Bonzini paolo.bonzini@lu.unisi.ch
Fri Aug 24 18:34:00 GMT 2007


> If there is a reason to put in that obstacle--e.g., because we
> are implementing a language standard and the language standard forbids
> it--then fine.  But citing a PowerPC specific standard to forbid code
> appropriate for the x86 does not count as a sufficient reason in my
> book.

The code I want to forbid is actually appropriate not only for the x86; 
the exact same code is appropriate for PowerPC, because the same kind of 
masking operations can be used there.  However, for some reason, the 
PowerPC spec chose *not* to allow "vector float" bitwise operations, and 
I agree with it; the reason I want to avoid this, is that it goes 
against our guideline for vector extensions (i.e. valarray).

Users can also achieve the same effect with casts, and in addition I 
would like to trade this lost ability with two gained abilities.  First, 
  I want GCC to produce the exact same code with and without casts. 
Second, I want GCC to have builtins supporting most common uses of the 
idiom, so that users can actually do without casts *and* bitwise 
operations 99% of the time.

Paolo



More information about the Gcc mailing list