This is the mail archive of the 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]
Other format: [Raw text]

Re: i386 PATCH for target/13685

Jason Merrill wrote:
H. J. Lu wrote:
On Thu, Sep 07, 2006 at 08:26:45PM -0400, Jason Merrill wrote:
The testcase in 13685 breaks because -Os implies a smaller PREFERRED_STACK_BOUNDARY than SSE requires. This patch causes us to use the 128-bit boundary if SSE is enabled, which fixes the bug.

I think it is a bad idea for -Os to change ABI. There are several bugs
open because of it. You can have a program compiled with -Os calling
a library compiled with -msee. The program will crash since -Os
uses a different ABI. The easiest way to fix is for -Os not to change
the ABI automatically.

I wouldn't mind changing the stack boundary to always be 128 bits.

FWIW, I would strongly suggest that we use a fixed ABI independent of -Os, i.e., change the stack boundary to always be 128 bits. I believe that it should always be the case that code compiled with different -O options can be freely intermixed (whereas -f/-m options may change the ABI).

If users need the smallest possible code, we could allow -Os -mstack-align=...

My two cents,

Mark Mitchell
(650) 331-3385 x713

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