aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNathan Froyd <froydnj@codesourcery.com>2008-02-23 00:35:20 +0000
committerNathan Froyd <froydnj@gcc.gnu.org>2008-02-23 00:35:20 +0000
commit2165fd3855ad8437510ebba80c57fdfa8b25984b (patch)
treef8f0cc6eb6c2b31e7839b29e1ef08eeda07069e6 /gcc
parente5572ab0738ad8640c372a624c77c5fce78ae195 (diff)
downloadgcc-2165fd3855ad8437510ebba80c57fdfa8b25984b.zip
gcc-2165fd3855ad8437510ebba80c57fdfa8b25984b.tar.gz
gcc-2165fd3855ad8437510ebba80c57fdfa8b25984b.tar.bz2
rs6000.h (CONSTANT_ALIGNMENT): Don't overalign strings when optimizing for size...
* config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Don't overalign strings when optimizing for size, unless the target cares about alignment. From-SVN: r132566
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/rs6000.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d9f0fa4..9f35e8c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2008-02-22 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Don't overalign
+ strings when optimizing for size, unless the target cares about
+ alignment.
+
2008-02-22 Tom Tromey <tromey@redhat.com>
* regclass.c (current_pass): Remove declaration.
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 6a64eae..f5bf7da 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -596,6 +596,7 @@ extern enum rs6000_nop_insertion rs6000_sched_insert_nops;
Make vector constants quadword aligned. */
#define CONSTANT_ALIGNMENT(EXP, ALIGN) \
(TREE_CODE (EXP) == STRING_CST \
+ && (TARGET_STRICT_ALIGN || !optimize_size) \
&& (ALIGN) < BITS_PER_WORD \
? BITS_PER_WORD \
: (ALIGN))