This is the mail archive of the gcc-patches@gcc.gnu.org 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]

ARM PATCH: ATPCS uses word-aligned structures


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				\

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