Daniel Jacobowitz wrote:
On Mon, Feb 18, 2008 at 08:16:39PM -0500, David Edelsohn wrote:
The Altivec ABI does change the stack alignment. This should not
create an incompatibility for old code, but new code may not receive the
stack properly aligned without additional dynamic alignment.
I thought so, too, but Geoff explained to me that this is wrong. It
only affects powerpc-eabi. powerpc-linux already has a sufficiently
aligned stack; it's just not reflected in STACK_BOUNDARY.
On powerpc-linux, if you do not pass or return vector arguments, the
only affect of -mabi=altivec is that AltiVec registers are saved and
restored correctly.
So, if I understand correctly, on Power GNU/Linux, this is actually not
a scary change at all as things will work monotonically better than they
did before. Is that right?
On powerpc-eabi, we would need to dynamically align the stack for
-maltivec to behave.
There's certainly somewhat less need for long-term binary compatibility
on bare-metal targets. If someone were to need compatibility there, we
could implement the dynamic stack-alignment.
So, it doesn't sound like there's much to worry about. Do you agree?
Thanks,
--
Mark Mitchell
CodeSourcery
[EMAIL PROTECTED]
(650) 331-3385 x713