This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

double alignment for x86



I've installed Bernd's patch to split up the old meaning of STACK_BOUNDARY into
PREFERRED_STACK_BOUNDARY and STACK_BOUNDARY.

PREFERRED_STACK_BOUNDARY is the boundary that the compiler should try to use
when allocating stack space.  STACK_BOUNDARY is the alignment that the compiler
knows the stack must always be aligned to (which controls certain ABI issues
and pointer masking optimizations).

This is one of the steps necessary allow us to get doubles in the stack
properly aligned without breaking the existing ABI.

Probably the next step is to install an option into the x86 backend which
increases PREFERRED_STACK_BOUNDARY to 8 or 16 bytes based on a compile time
flag.  We may also need to tweak the prologue/epilogue code to ensure that
it always keeps the stack aligned to PREFERRED_STACK_BOUNDARY based on that
compile time flag.

Contributions anyone?

jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]