]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
rs6000.h, [...]: Revert last two patches.
authorJakub Jelinek <jakub@redhat.com>
Thu, 8 Aug 2002 17:52:40 +0000 (19:52 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 8 Aug 2002 17:52:40 +0000 (19:52 +0200)
* config/rs6000/rs6000.h, config/rs6000/aix.h,
config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
two patches.
* config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.

From-SVN: r56134

gcc/ChangeLog
gcc/config/rs6000/aix.h
gcc/config/rs6000/darwin.h
gcc/config/rs6000/linux64.h
gcc/config/rs6000/rs6000.h
gcc/config/rs6000/sysv4.h

index 3a20aa984ff0e898dc3d6641d2a66f7b3f1a087b..7e45a24ad2fdfe06dbb8f1acb225a84029f7d3e3 100644 (file)
@@ -1,3 +1,10 @@
+2002-08-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/rs6000/rs6000.h, config/rs6000/aix.h,
+       config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
+       two patches.
+       * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
+
 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
 
        * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
index cd069d7a8d5ca11cfb8e0c0b5d74f3aaf060808a..d8dde5bbba815ed66311606a1964ad9e7297fb53 100644 (file)
@@ -103,6 +103,13 @@ Boston, MA 02111-1307, USA.  */
 #define LIB_SPEC "%{pg:-L/lib/profiled -L/usr/lib/profiled}\
 %{p:-L/lib/profiled -L/usr/lib/profiled} %{!shared:%{g*:-lg}} -lc"
 
+/* AIX word-aligns FP doubles but doubleword-aligns 64-bit ints.  */
+#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \
+  (TYPE_MODE (TREE_CODE (TREE_TYPE (FIELD)) == ARRAY_TYPE \
+             ? get_inner_array_type (FIELD) \
+             : TREE_TYPE (FIELD)) == DFmode \
+   ? MIN ((COMPUTED), 32) : (COMPUTED))
+
 /* AIX increases natural record alignment to doubleword if the first
    field is an FP double while the FP fields remain word aligned.  */
 #define ROUND_TYPE_ALIGN(STRUCT, COMPUTED, SPECIFIED)  \
index 1fae4d164788b05ed14f67671868d3c78f5ba306..81c24e76814b8ed09a0f9462ebfe3eda4bf9c3b4 100644 (file)
@@ -205,6 +205,13 @@ Boston, MA 02111-1307, USA.  */
 /* Fix for emit_group_load (): force large constants to be pushed via regs.  */
 #define ALWAYS_PUSH_CONSTS_USING_REGS_P                1
 
+/* Darwin word-aligns FP doubles but doubleword-aligns 64-bit ints.  */
+#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \
+  (TYPE_MODE (TREE_CODE (TREE_TYPE (FIELD)) == ARRAY_TYPE \
+             ? get_inner_array_type (FIELD) \
+             : TREE_TYPE (FIELD)) == DFmode \
+   ? MIN ((COMPUTED), 32) : (COMPUTED))
+
 /* Darwin increases natural record alignment to doubleword if the first
    field is an FP double while the FP fields remain word aligned.  */
 #define ROUND_TYPE_ALIGN(STRUCT, COMPUTED, SPECIFIED)  \
index cab4be91e461794be20d1c43bc25b612bb5b2151..f84e1e3a8334937e2dda97e4ddc4615d4ef1dff0 100644 (file)
@@ -64,6 +64,13 @@ Boston, MA 02111-1307, USA.  */
 
 #define USER_LABEL_PREFIX  ""
 
+/* AIX word-aligns FP doubles but doubleword-aligns 64-bit ints.  */
+#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \
+  (TYPE_MODE (TREE_CODE (TREE_TYPE (FIELD)) == ARRAY_TYPE \
+             ? get_inner_array_type (FIELD) \
+             : TREE_TYPE (FIELD)) == DFmode \
+   ? MIN ((COMPUTED), 32) : (COMPUTED))
+
 /* AIX increases natural record alignment to doubleword if the first
    field is an FP double while the FP fields remain word aligned.  */
 #undef ROUND_TYPE_ALIGN
index be102897621774c71eced3677ab993b4208b163c..8c77dd558c063adf851f1249b5c4c523f310c26b 100644 (file)
@@ -638,15 +638,6 @@ extern int rs6000_altivec_abi;
 /* A bitfield declared as `int' forces `int' alignment for the struct.  */
 #define PCC_BITFIELD_TYPE_MATTERS 1
 
-/* Most ABIs word-align FP doubles but doubleword-align 64-bit ints.  */
-#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \
-  (DEFAULT_ABI == ABI_V4                                               \
-   ? ((TARGET_ALTIVEC                                                  \
-       && TREE_CODE (get_inner_array_type (FIELD)) == VECTOR_TYPE)     \
-      ? 128 : (COMPUTED))                                              \
-   : ((TYPE_MODE (get_inner_array_type (FIELD)) == DFmode)             \
-      ? MIN (32, (COMPUTED)) : (COMPUTED)))
-
 /* Make strings word-aligned so strcpy from constants will be faster.
    Make vector constants quadword aligned.  */
 #define CONSTANT_ALIGNMENT(EXP, ALIGN)                           \
index f55588675423c63b62b5d8059226c8c765d7d26c..9274d8fda690169ba0ad1ba4f4ffb700da45b9ca 100644 (file)
@@ -387,6 +387,12 @@ do {                                                                       \
 #undef BIGGEST_ALIGNMENT
 #define BIGGEST_ALIGNMENT ((TARGET_EABI && !TARGET_ALTIVEC) ? 64 : 128)
 
+/* An expression for the alignment of a structure field FIELD if the
+   alignment computed in the usual way is COMPUTED.  */
+#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED)                                  \
+       ((TARGET_ALTIVEC && TREE_CODE (TREE_TYPE (FIELD)) == VECTOR_TYPE)     \
+        ? 128 : COMPUTED)
+
 /* Define this macro as an expression for the alignment of a type
    (given by TYPE as a tree node) if the alignment computed in the
    usual way is COMPUTED and the alignment explicitly specified was