aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMichael Meissner <meissner@linux.vnet.ibm.com>2011-03-14 20:51:41 +0000
committerMichael Meissner <meissner@gcc.gnu.org>2011-03-14 20:51:41 +0000
commit35f61ba4fc47619e360b8749994866fa3d9df601 (patch)
treef53b2930c6365cf36e1df070931f3983cde805cd /gcc
parent07332e6db412b233f8c991652ad94159d041ff50 (diff)
downloadgcc-35f61ba4fc47619e360b8749994866fa3d9df601.zip
gcc-35f61ba4fc47619e360b8749994866fa3d9df601.tar.gz
gcc-35f61ba4fc47619e360b8749994866fa3d9df601.tar.bz2
Fix fix to PR 48053
From-SVN: r170962
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/rs6000/rs6000.md3
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f5ed839..5dde051 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 4455d9a..24fd516 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -10071,7 +10071,8 @@
(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))]
"