diff options
author | Revital Eres <eres@il.ibm.com> | 2007-09-06 14:30:19 +0000 |
---|---|---|
committer | Revital Eres <revitale@gcc.gnu.org> | 2007-09-06 14:30:19 +0000 |
commit | d42a3bae0faadc14581321d391afd8ccbd18aa44 (patch) | |
tree | 9c6769be19e736a2d786170b58a354183bd08f40 /gcc | |
parent | bd379f7328b2ff3b17f5845dbe49796f97a79c25 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 5 |
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); |