OSDN Git Service

* config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Don't overalign
authorfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 23 Feb 2008 00:35:20 +0000 (00:35 +0000)
committerfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 23 Feb 2008 00:35:20 +0000 (00:35 +0000)
strings when optimizing for size, unless the target cares about
alignment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132566 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/rs6000/rs6000.h

index d9f0fa4..9f35e8c 100644 (file)
@@ -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.
index 6a64eae..f5bf7da 100644 (file)
@@ -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))