pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
authorJohn David Anglin <dave@hiauly1.hia.nrc.ca>
Thu, 12 Dec 2002 02:44:02 +0000 (02:44 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Thu, 12 Dec 2002 02:44:02 +0000 (02:44 +0000)
* 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.

From-SVN: r60056

gcc/ChangeLog
gcc/config/pa/pa.h

index 3737957659615805066992b98df843130149e359..878a422fb846a896205ae751334f58be31dfd6d8 100644 (file)
@@ -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.
index ebaee36b9f36a26bbf387c89448c6c5187bf9d47..860b7590d9837358671b31ffc6e921c9be3ac54c 100644 (file)
@@ -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