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?