summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2008-01-22 21:12:05 +0000
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2008-01-22 21:12:05 +0000
commite74b57b1d356418ebd2bd2d3a311065b4837f09f (patch)
treefdc37934b95c6a3ee5e856551da88feb6fb16a38
parent0bd414df9c57a5ae04871149d75557548728add5 (diff)
downloadppe42-gcc-e74b57b1d356418ebd2bd2d3a311065b4837f09f.tar.gz
ppe42-gcc-e74b57b1d356418ebd2bd2d3a311065b4837f09f.zip
PR target/34529
* 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
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/rs6000.c10
2 files changed, 10 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2f80c36e346..f882548bfa4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index c730a65fc29..83d8dbdc0d9 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -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);
OpenPOWER on IntegriCloud