aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Edelsohn <edelsohn@gnu.org>1996-01-22 18:55:08 +0000
committerDavid Edelsohn <edelsohn@gnu.org>1996-01-22 18:55:08 +0000
commitb73fd26c62b8c663b36f7953c4b35d60c07dbdcf (patch)
treed7f6c08d66f352ced86131ec453f8541d60f95c5 /gcc
parent753eae35b534442bb2a20be7d7771b298055da6d (diff)
downloadgcc-b73fd26c62b8c663b36f7953c4b35d60c07dbdcf.zip
gcc-b73fd26c62b8c663b36f7953c4b35d60c07dbdcf.tar.gz
gcc-b73fd26c62b8c663b36f7953c4b35d60c07dbdcf.tar.bz2
update alignment
From-SVN: r11079
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/rs6000/rs6000.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 51c1ffd..67a8cbc 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -543,7 +543,10 @@ extern struct rs6000_cpu_select rs6000_select[];
#define FUNCTION_BOUNDARY 32
/* No data type wants to be aligned rounder than this. */
-#define BIGGEST_ALIGNMENT (TARGET_64BIT ? 64 : 32)
+#define BIGGEST_ALIGNMENT 64
+
+/* AIX aligns internal doubles in structures on word boundaries. */
+#define BIGGEST_FIELD_ALIGNMENT 32
/* Alignment of field after `int : 0' in a structure. */
#define EMPTY_FIELD_BOUNDARY 32
@@ -2593,10 +2596,14 @@ do { \
/* This says how to output an assembler line
to define a global common symbol. */
-#define ASM_OUTPUT_COMMON(FILE, NAME, SIZE, ROUNDED) \
+#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGNMENT) \
do { fputs (".comm ", (FILE)); \
RS6000_OUTPUT_BASENAME ((FILE), (NAME)); \
- fprintf ((FILE), ",%d\n", (SIZE)); } while (0)
+ if ( (SIZE) > 4) \
+ fprintf ((FILE), ",%d,3\n", (SIZE)); \
+ else \
+ fprintf( (FILE), ",%d\n", (SIZE)); \
+ } while (0)
/* This says how to output an assembler line
to define a local common symbol. */