From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeffrey A Law To: egcs@cygnus.com Subject: Re: double alignment patch for x86 Date: Tue, 19 Aug 1997 03:52:10 -0000 Message-ID: <199708190343.XAA13881@tweedledumb.cygnus.com> In-reply-to: double alignment patch for x86 X-SW-Source: 1997-08/0127.html Message-ID: <19970819035210.6LwX3sik6weFIzDTc8Jxt2aAeyw9J1kk2t5ED6KOzso@z> In message <199708190343.XAA13881@tweedledumb.cygnus.com>you write: > | That's one way to approach the problem, but it results in an extra insn t > o > | mask off the low bits of the stack in the prologue. > > I meant just raise STACK_ALIGNMENT to 64. Aligning it at runtime would > be a disaster on the x86, due to all arguments being pushed on the stack, > and having few registers. Oh. Slight mis-communication. However, raising STACK_ALIGNMENT would still lose if the OS and friends don't keep the stack suitably aligned -- some of Kenner's changes from last year in combine.c will blow up badly (see REG_POINTER_ALIGNMENT changes from 1996). I had the distinct pleasure of analyzing half a dozen of these kinds of problems because the ABI on the PA specifies a 64byte alignment, but the OS+crt0.o only provides an 8 byte alignment. The result was combine would remove instructions it throught were redundant, but which were really necessary. jeff