Fix fix to PR 48053
authorMichael Meissner <meissner@linux.vnet.ibm.com>
Mon, 14 Mar 2011 20:51:41 +0000 (20:51 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Mon, 14 Mar 2011 20:51:41 +0000 (20:51 +0000)
From-SVN: r170962

gcc/ChangeLog
gcc/config/rs6000/rs6000.md

index f5ed839e9b10874fa6715e79d2d931610238d678..5dde051c242574091de9b028afc4f9287e8433f7 100644 (file)
@@ -1,3 +1,10 @@
+2011-03-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR target/48053
+       * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
+       64-bit constants being loaded into registers other than GPRs such
+       as loading 0 into a VSX register.
+
 2011-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        * config/sol2.c (solaris_assemble_visibility): Remove obsolete
index 4455d9a831971a5753ddf56fba775858e040d35e..24fd5163eee779a94aa6a2694c32ab14ff4822a8 100644 (file)
 (define_split
   [(set (match_operand:DI 0 "gpc_reg_operand" "")
        (match_operand:DI 1 "const_int_operand" ""))]
-  "! TARGET_POWERPC64 && reload_completed"
+  "! TARGET_POWERPC64 && reload_completed
+   && gpr_or_gpr_p (operands[0], operands[1])"
   [(set (match_dup 2) (match_dup 4))
    (set (match_dup 3) (match_dup 1))]
   "