------- Comment #12 from hjl dot tools at gmail dot com 2008-02-12 18:52 ------- (In reply to comment #11) > (In reply to comment #10) > > > I think it is wrong to set STACK_BOUNDARY to 128 for 32bit since it is > > hardware related, not ABI related. They should set PREFERRED_STACK_BOUNDARY > > instead, which is set to 128 already. On stack alignment branch, we > > introduced a new macro, ABI_STACK_BOUNDARY, to handle different ABIs. > > > > Also, STACK_BOUNDARY is somehow connected to PARM_BOUNDARY: > > -- Macro: STACK_BOUNDARY > Define this macro to the minimum alignment enforced by hardware > for the stack pointer on this machine. The definition is a C > expression for the desired alignment (measured in bits). This > value is used as a default if `PREFERRED_STACK_BOUNDARY' is not > defined. On most machines, this should be the same as > `PARM_BOUNDARY'. > > If PARM_BOUNDARY is set to 128, va-arg-25.c tests OK for all optimizations > with > -m32 -msse2 additional flags. >
That is not a surprise. But changing PARM_BOUNDARY may change ABI on Apple. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34621