aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn David Anglin <dave@hiauly1.hia.nrc.ca>2002-12-12 02:44:02 +0000
committerJohn David Anglin <dave@hiauly1.hia.nrc.ca>2002-12-12 02:44:02 +0000
commit15c43792e61d300ba3ceb3eab9feb091e750c436 (patch)
treee5b1fdd7a7c1bd0ca9ec810f776f3162a8a5b93f
parent5982766b612c2f833ffd0d70fb200ad3dcc254c3 (diff)
* 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
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/pa/pa.h18
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 <dave@hiauly1.hia.nrc.ca>
+
+ * 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 <kazu@cs.umass.edu>
* 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