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

Reply via email to