This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Question about -mpreferred-stack-boundary
- To: Andreas Jaeger <aj at suse dot de>
- Subject: Re: Question about -mpreferred-stack-boundary
- From: Richard Henderson <rth at redhat dot com>
- Date: Mon, 5 Feb 2001 15:40:56 -0800
- Cc: Geert Bosch <bosch at gnat dot com>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>, Jens Wallner <wallner at ims dot uni-hannover dot de>, Ulrich Drepper <drepper at cygnus dot com>
- References: <20010203133913.A9F9E34D80@nile.gnat.com> <u8g0hvan0p.fsf@gromit.rhein-neckar.de>
On Sat, Feb 03, 2001 at 02:56:06PM +0100, Andreas Jaeger wrote:
> I should have descripted the problem in more detail: glibc's startup
> code aligns the stack to 32 bytes - and then calls a function. Now,
> if you tell me that the stack has to be aligned (e.g. to 32 bytes)
> *after* the push of the return address, then glibc is wrong - but if
> it has to be aligned *before* the push of the return address, we might
> have a bug in GCC.
The stack should be aligned *before* the push of the return address.
That is, the first argument should be appropriately aligned.
The ABI Intel is promoting for __m128 pads the argument list such
that a __m128 argument is always aligned. So there is 4 bytes of
padding in foo(int, int, int, __m128).
r~