From 15c43792e61d300ba3ceb3eab9feb091e750c436 Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Thu, 12 Dec 2002 02:44:02 +0000 Subject: * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits. (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of BIGGEST_ALIGNMENT. (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY. (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@60056 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 8 ++++++++ gcc/config/pa/pa.h | 18 ++++++++---------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 37379576596..878a422fb84 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2002-12-11 John David Anglin + + * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits. + (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of + BIGGEST_ALIGNMENT. + (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY. + (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD. + 2002-12-11 Kazu Hirata * doc/invoke.texi: Correct dump file names. diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index ebaee36b9f3..860b7590d98 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -451,19 +451,19 @@ do { \ /* Largest alignment required for any stack parameter, in bits. Don't define this if it is equal to PARM_BOUNDARY */ -#define MAX_PARM_BOUNDARY (2 * PARM_BOUNDARY) +#define MAX_PARM_BOUNDARY BIGGEST_ALIGNMENT /* Boundary (in *bits*) on which stack pointer is always aligned; certain optimizations in combine depend on this. - GCC for the PA always rounds its stacks to a 512bit boundary, - but that happens late in the compilation process. */ -#define STACK_BOUNDARY (TARGET_64BIT ? 128 : 64) + GCC for the PA always rounds its stacks to a 8 * STACK_BOUNDARY + boundary, but that happens late in the compilation process. */ +#define STACK_BOUNDARY BIGGEST_ALIGNMENT -#define PREFERRED_STACK_BOUNDARY 512 +#define PREFERRED_STACK_BOUNDARY (8 * STACK_BOUNDARY) /* Allocation boundary (in *bits*) for the code of a function. */ -#define FUNCTION_BOUNDARY (TARGET_64BIT ? 64 : 32) +#define FUNCTION_BOUNDARY BITS_PER_WORD /* Alignment of field after `int : 0' in a structure. */ #define EMPTY_FIELD_BOUNDARY 32 @@ -474,9 +474,8 @@ do { \ /* A bit-field declared as `int' forces `int' alignment for the struct. */ #define PCC_BITFIELD_TYPE_MATTERS 1 -/* No data type wants to be aligned rounder than this. This is set - to 128 bits to allow for lock semaphores in the stack frame.*/ -#define BIGGEST_ALIGNMENT 128 +/* No data type wants to be aligned rounder than this. */ +#define BIGGEST_ALIGNMENT (2 * BITS_PER_WORD) /* Get around hp-ux assembler bug, and make strcpy of constants fast. */ #define CONSTANT_ALIGNMENT(CODE, TYPEALIGN) \ @@ -488,7 +487,6 @@ do { \ && TYPE_MODE (TREE_TYPE (TYPE)) == QImode \ && (ALIGN) < BITS_PER_WORD ? BITS_PER_WORD : (ALIGN)) - /* Set this nonzero if move instructions will actually fail to work when given unaligned data. */ #define STRICT_ALIGNMENT 1 -- cgit v1.2.3