summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-27 10:27:40 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-27 10:27:40 +0000
commitfbbd4d6878182d6214bcd07546a8a47c37fcf714 (patch)
treec6c8130026c2855908d08fa4b2eccd38506d2384
parentabe5efd4dc90edcf225a34bc287eaa31b8a8d830 (diff)
downloadppe42-gcc-fbbd4d6878182d6214bcd07546a8a47c37fcf714.tar.gz
ppe42-gcc-fbbd4d6878182d6214bcd07546a8a47c37fcf714.zip
* config/i386/i386.c (ix86_constant_alignment): Decrease alignment
of long string literals from 32 bytes to sizeof (void *) when !-Os and to 1 with -Os. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76694 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.c6
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b9e9d571149..05c5fb5a9dc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-01-27 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.c (ix86_constant_alignment): Decrease alignment
+ of long string literals from 32 bytes to sizeof (void *) when !-Os
+ and to 1 with -Os.
+
2004-01-26 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.c (h8300_tiny_constant_address_p): Accept
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 79102cfefdb..1401fc0ed94 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -12565,9 +12565,9 @@ ix86_constant_alignment (tree exp, int align)
else if (ALIGN_MODE_128 (TYPE_MODE (TREE_TYPE (exp))) && align < 128)
return 128;
}
- else if (TREE_CODE (exp) == STRING_CST && TREE_STRING_LENGTH (exp) >= 31
- && align < 256)
- return 256;
+ else if (!optimize_size && TREE_CODE (exp) == STRING_CST
+ && TREE_STRING_LENGTH (exp) >= 31 && align < BITS_PER_WORD)
+ return BITS_PER_WORD;
return align;
}
OpenPOWER on IntegriCloud