aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRevital Eres <eres@il.ibm.com>2007-09-06 14:30:19 +0000
committerRevital Eres <revitale@gcc.gnu.org>2007-09-06 14:30:19 +0000
commitd42a3bae0faadc14581321d391afd8ccbd18aa44 (patch)
tree9c6769be19e736a2d786170b58a354183bd08f40 /gcc
parentbd379f7328b2ff3b17f5845dbe49796f97a79c25 (diff)
downloadgcc-d42a3bae0faadc14581321d391afd8ccbd18aa44.zip
gcc-d42a3bae0faadc14581321d391afd8ccbd18aa44.tar.gz
gcc-d42a3bae0faadc14581321d391afd8ccbd18aa44.tar.bz2
Fix offsettable memory reference for 750CL
From-SVN: r128184
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rs6000/rs6000.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 87a3763..b195600 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 9768a3f..be82c3f 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -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);