There is the Spe PEM as well (Freescale 8540/8548). On the Spe we defined a vector type that has no
definition of vector elements. (__ev64_opaque__).

It was designed such that casting from this type to any other vector type of the same
size can only be accomplished by bit-preserving conversion.
This syntax makes very easy to control when to do value conversion and when not.

Incidentally, all other vector type casts are allowed, and they all do bit-preserving conversion, even though there are vector instructions to do value conversions, but that is another story...

I cannot make an official statement in behalf of Freescale, but I am pretty confident we prefer everyone in the same page, than have different implementations in different compiler vendors.
(The Spe PEM was voted by a lot of users and third party tools suppliers).
That way a departure of gcc, without common agreement from this people, let me worried.

Edmar


Mark Mitchell wrote:

I think, like Ian, that conversions from V4SF to V4SI, via an ordinary
cast, should perform a conversion; this should be the same as converting
each of the individual floats to int.  Then, since the bit-preserving
conversion is also useful, we should have another syntax for that.

However, the Altivec situation, coupled with the fact that
bit-preserving conversion is our current behavior, makes me think that,
what I might think the ideal language-design ought to be may have little
relevance.  Do people think it's viable to change the default kind of
conversion, on targets other than Altivec?


Reply via email to