Fix offsettable memory reference for 750CL
authorRevital Eres <eres@il.ibm.com>
Thu, 6 Sep 2007 14:30:19 +0000 (14:30 +0000)
committerRevital Eres <revitale@gcc.gnu.org>
Thu, 6 Sep 2007 14:30:19 +0000 (14:30 +0000)
From-SVN: r128184

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

index 87a3763..b195600 100644 (file)
@@ -1,3 +1,8 @@
+2007-09-06  Revital Eres  <eres@il.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
+       Fix offsettable memory reference for 750CL.
+
 2007-09-06  Pat Haugen  <pthaugen@us.ibm.com>
 
        * reload.c (find_reloads_address_1): Try to preserve original
index 9768a3f..be82c3f 100644 (file)
@@ -3203,6 +3203,11 @@ rs6000_legitimate_offset_address_p (enum machine_mode mode, rtx x, int strict)
     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.  */
+      if (TARGET_PAIRED_FLOAT)
+        return !strict;
       /* SPE vector modes.  */
       return SPE_CONST_OFFSET_OK (offset);