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
