diff options
author | Michael Eager <eager@eagercon.com> | 2009-05-04 15:57:46 +0000 |
---|---|---|
committer | Michael Eager <eager@gcc.gnu.org> | 2009-05-04 15:57:46 +0000 |
commit | 960c5c791a8cf2314f09eb925cf8b48af2c9d662 (patch) | |
tree | 7da32a6c180e25ea1b76ea2d22ac321009a98ded /gcc | |
parent | d083fbba4245e0e090e4cfa62583632c7edc217c (diff) | |
download | gcc-960c5c791a8cf2314f09eb925cf8b48af2c9d662.zip gcc-960c5c791a8cf2314f09eb925cf8b48af2c9d662.tar.gz gcc-960c5c791a8cf2314f09eb925cf8b48af2c9d662.tar.bz2 |
Allow address for DImode/DFmode only if double-precision FP regs.
From-SVN: r147105
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d634330..e2bba67 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2009-05-04 Michael Eager <eager@eagercon.com> + * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow + address for DImode/DFmode only if double-precision FP regs. + +2009-05-04 Michael Eager <eager@eagercon.com> + * config/rs6000/rs6000.c (rs6000_libcall_value): Add TARGET_SINGLE_FLOAT check. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index c168b19..4e23043 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -4458,7 +4458,7 @@ rs6000_legitimate_address (enum machine_mode mode, rtx x, int reg_ok_strict) if (mode != TImode && mode != TFmode && mode != TDmode - && ((TARGET_HARD_FLOAT && TARGET_FPRS) + && ((TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT) || TARGET_POWERPC64 || (mode != DFmode && mode != DDmode) || (TARGET_E500_DOUBLE && mode != DDmode)) |