PR target/34529
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 22 Jan 2008 21:12:05 +0000 (21:12 +0000)
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 22 Jan 2008 21:12:05 +0000 (21:12 +0000)
        * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
        Offset addresses are not valid for Altivec or paired float modes.

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

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 2f80c36..f882548 100644 (file)
@@ -1,3 +1,9 @@
+2008-01-22  David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/34529
+       * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
+       Offset addresses are not valid for Altivec or paired float modes.
+
 2008-01-22  Jakub Jelinek  <jakub@redhat.com>
 
        PR c++/34607
index c730a65..83d8dbd 100644 (file)
@@ -3365,19 +3365,17 @@ rs6000_legitimate_offset_address_p (enum machine_mode mode, rtx x, int strict)
     case V4SFmode:
     case V4SImode:
       /* AltiVec vector modes.  Only reg+reg addressing is valid and
-        constant offset zero should not occur due to canonicalization.
-        Allow any offset when not strict before reload.  */
-      return !strict;
+        constant offset zero should not occur due to canonicalization.  */
+      return false;
 
     case V4HImode:
     case V2SImode:
     case V1DImode:
     case V2SFmode:
        /* Paired vector modes.  Only reg+reg addressing is valid and
-         constant offset zero should not occur due to canonicalization.
-         Allow any offset when not strict before reload.  */
+         constant offset zero should not occur due to canonicalization.  */
       if (TARGET_PAIRED_FLOAT)
-        return !strict;
+        return false;
       /* SPE vector modes.  */
       return SPE_CONST_OFFSET_OK (offset);