rfc: auto-casted vector types
Jim Wilson
wilson@redhat.com
Mon Feb 17 22:33:00 GMT 2003
Aldy Hernandez <aldyh@redhat.com> writes:
> The PPC E500 API specifies that vector types of type __ev64_opaque__
> (V2SImode) can interconvert with other vector types without a cast.
Is there any publicly available documentation? My copy of the draft docs
say they are Motorola confidential. If there is documentation available,
it would be useful to point to it somewhere.
I tried searching the Motorola web site. I found Altivec PIM documentation,
but no SPE PIM documentation.
> * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
> * c-typeck.c (comptypes): Take into account
> TARGET_VECTOR_TYPES_COMPATIBLE.
> (convert_for_assignment): Same.
> ...
The patch looks pretty reasonable to me also. I agree with Zack's suggestions.
It might be useful to note in the comments in the rs6000 file that the
current implementation has a known flaw. It pretends that V2SI is the opaque
vector type. This means that it accidentally allows conversions to/from the
V2SI vector type without explicit casts. In order to fix this, we need to
use a different otherwise unused vector type for the opaque vector type.
Nick started on a patch to do this, but didn't have enough time to finish it.
Jim
More information about the Gcc
mailing list