This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: rs6000 stack boundary
- From: Geoff Keating <geoffk at geoffk dot org>
- To: Alan Modra <amodra at bigpond dot net dot au>
- Cc: David Edelsohn <dje at watson dot ibm dot com>, gcc-patches at gcc dot gnu dot org
- Date: 30 Apr 2004 14:56:46 -0700
- Subject: Re: rs6000 stack boundary
- References: <20040430143702.GO2565@bubble.modra.org>
Alan Modra <amodra@bigpond.net.au> writes:
> Fixes some problems with STACK_BOUNDARY. Altivec needs 16 byte
> alignment whether or no -mabi=altivec is given, and PowerPC64 Linux
> always has a 16 byte aligned stack. On PowerPC64 Linux, the sysv4.h
> definition unfortunately overrode the rs6000.h one.
>
> * config/rs6000/rs6000.h (STACK_BOUNDARY): Use 128 bit for either
> TARGET_ALTIVEC or TARGET_ALTIVEC_ABI.
> * config/rs6000/sysv4.h (ABI_STACK_BOUNDARY): Likewise.
> (STACK_BOUNDARY): Delete.
This isn't right; it's not true that all ELF targets have a 128-bit
stack boundary. In particular, EABI targets don't. Remember,
TARGET_ALTIVEC does not change ABI. The change would be OK if it
didn't have the TARGET_ALTIVEC part. (Note that the sysv4.h
definition of STACK_BOUNDARY was correct.)
--
- Geoffrey Keating <geoffk@geoffk.org>