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]

Re: x86 stack alignment redux



  In message <rzq3el01z6k.fsf@djlvig.dl.ac.uk>you write:
  > With this change, a glibc2-based system such as is now apparently
  > becoming usable, and -malign-double, g77 users running on GNUish
  > 686-based boxes should no longer suffer an average 50% perfromance hit
  > because doubles on the stack only get word-aligned (or a smaller hit
  > on 586).  Previous discussion suggested it's a bug if STACK_BOUNDARY
  > doesn't agree with the initial stack pointer alignment and glibc2
  > ensures initial double alignment.
  > 
  > This really is important to serious scientific users with high-profile
  > projects of the sort I understand have just been slagging off g77/gcc
  > at a high-performance computing meeting here.
  > 
  > 1997-11-13  Dave Love  <d.love@dl.ac.uk>
  > 
  > 	* config/i386/linux.h (STACK_BOUNDARY): Define as 64 for glibc2.
  > 	* config/i386/gnu.h (STACK_BOUNDARY): Define as 64.
I installed this.

However, I'm a little worried about things breaking if we happen to mix
code compiled with an old compiler (say egcs-1.0 or gcc-2.7) with code
which assumes a 64bit stack boundary.  Isn't this change going to break
that case, or does the prologue/epilogue code for older compilers always
allocate 64bit hunks?

jeff


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