This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: biggest alignment for sysv4.h altivec
- From: David Edelsohn <dje at watson dot ibm dot com>
- To: Geoff Keating <geoffk at redhat dot com>, aldyh at redhat dot com
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 08 Mar 2002 23:08:18 -0500
- Subject: Re: biggest alignment for sysv4.h altivec
- References: <jm3cza7iqw.fsf@desire.geoffk.org>
>>>>> Geoff Keating writes:
| I would look at it the other way. Why should BIGGEST_ALIGNMENT
| differ? It doesn't change when we switch on -msoft-float, even though
| if we don't have hardware doubles then we don't need 64-bit alignment.
The Altivec ABI is an extension to the SVR4 and Darwin/AIX ABIs.
It increases the biggest alignment to 128 bits.
-msoft-float is not a new or extended ABI. It is the original ABI
with FPRs disabled and floating point emulated in GPRs. It is intended to
be compatible with the original ABI and the original ABI's alignment
rules.
The two issues are not similar enough to use as justification or
precedent for the other.
BIGGEST_ALIGNMENT needs to change because the Altivec ABI says
that it is different. One cannot uniformly change BIGGEST_ALIGNMENT to
128 because that is not what the SVR4 ABI specifies. One needs the
conditional as Aldy has proposed.
Thanks, David