This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
ARM PATCH: ATPCS uses word-aligned structures
- From: Richard Earnshaw <rearnsha at buzzard dot freeserve dot co dot uk>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Richard dot Earnshaw at buzzard dot freeserve dot co dot uk, nickc at redhat dot com
- Date: Sun, 22 Jun 2003 15:12:25 +0100
- Subject: ARM PATCH: ATPCS uses word-aligned structures
- Reply-to: Richard dot Earnshaw at buzzard dot freeserve dot co dot uk
Nick's change to add double-word aligned structures for wMMX (something
I'm still not entirely happy about) somehow broke the ATPCS alignment
rules. The ATPCS had a maximum alignment (other than the stack) of 32
bits: it's the AT_E_PCS that has 64-bit alignment of double-word objects
(but is not yet supported by GCC).
This fixes a bootstrap problem on NetBSD (which is based on ATPCS
alignment rules).
R.
2003-06-22 Richard Earnshaw <rearnsha@arm.com>
* arm.h (BIGGEST_ALIGNMENT): Use TARGET_REALLY_IWMMXT for selecting
64-bit alignment.
Index: arm.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/arm.h,v
retrieving revision 1.198
diff -p -p -r1.198 arm.h
*** arm.h 18 Jun 2003 16:36:12 -0000 1.198
--- arm.h 22 Jun 2003 14:03:17 -0000
*************** extern int arm_is_6_or_7;
*** 753,759 ****
#define EMPTY_FIELD_BOUNDARY 32
! #define BIGGEST_ALIGNMENT (TARGET_ATPCS ? 64 : 32)
#define TYPE_NEEDS_IWMMXT_ALIGNMENT(TYPE) \
(TARGET_REALLY_IWMMXT \
--- 753,759 ----
#define EMPTY_FIELD_BOUNDARY 32
! #define BIGGEST_ALIGNMENT (TARGET_REALLY_IWMMXT ? 64 : 32)
#define TYPE_NEEDS_IWMMXT_ALIGNMENT(TYPE) \
(TARGET_REALLY_IWMMXT \