Allow address for DImode/DFmode only if double-precision FP regs.
authorMichael Eager <eager@eagercon.com>
Mon, 4 May 2009 15:57:46 +0000 (15:57 +0000)
committerMichael Eager <eager@gcc.gnu.org>
Mon, 4 May 2009 15:57:46 +0000 (15:57 +0000)
From-SVN: r147105

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

index d634330de3d094faff457f32f2add2f01b1f9156..e2bba67ec2f8d1b1ffa0b9c38dc9788611785295 100644 (file)
@@ -1,3 +1,8 @@
+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
index c168b19935d2784face6c118cf530a3b49bb3376..4e2304390985aa91582d36c3174a1b110bf7fc10 100644 (file)
@@ -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))