recent troubles with float vectors & bitwise ops

Paolo Bonzini paolo.bonzini@lu.unisi.ch
Thu Aug 23 15:56:00 GMT 2007


>>> "The types defined in this manner can be used with a subset of
>>> normal C operations. Currently, GCC will allow using the following
>>> operators on these types: +, -, *, /, unary minus, ^, |, &, ~.".
>> What was missing is "when allowed by the base type".  E.g. >> is not
>> supported.
> 
> I think we should revert the patch, and continue permitting the
> bitwise operations on vector float.
> 
> There seem to be solid reasons to permit this, and no very strong ones
> to prohibit it.

I'm not sure.  I think it's better if we improve the compiler to 
generate better code for the version with casts.  So we get no 
pessimization, and better typechecking.

I think that, in an ideal world, intrinsics would be implemented using 
the generic vector extensions, and they would generic as good code as 
with builtins -- better because of simplifications that can be done 
after inlining.  We should move towards that direction.

Paolo



More information about the Gcc mailing list