aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2004-01-27 11:27:40 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2004-01-27 11:27:40 +0100
commit4137ba7ab7a1d7be1a3452dcf7f5a3818dcb4c6b (patch)
treec6c8130026c2855908d08fa4b2eccd38506d2384 /gcc
parenta4bb41cc2fba94fb61022573850fd2de44e13170 (diff)
downloadgcc-4137ba7ab7a1d7be1a3452dcf7f5a3818dcb4c6b.zip
gcc-4137ba7ab7a1d7be1a3452dcf7f5a3818dcb4c6b.tar.gz
gcc-4137ba7ab7a1d7be1a3452dcf7f5a3818dcb4c6b.tar.bz2
i386.c (ix86_constant_alignment): Decrease alignment of long string literals from 32 bytes to sizeof (void *) when...
* 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. From-SVN: r76694
Diffstat (limited to 'gcc')
-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 b9e9d57..05c5fb5 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 79102cf..1401fc0 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;
}