aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2009-02-15 20:12:41 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2009-02-15 12:12:41 -0800
commit47f5a48f4abe2a35deddab932cc3241ba6fe335f (patch)
treeb18304654da5a06ede353d6d96a915c4d962541f /gcc
parentbbcac3becb8dcc1cf5a8d65926ce15b296f4367c (diff)
downloadgcc-47f5a48f4abe2a35deddab932cc3241ba6fe335f.zip
gcc-47f5a48f4abe2a35deddab932cc3241ba6fe335f.tar.gz
gcc-47f5a48f4abe2a35deddab932cc3241ba6fe335f.tar.bz2
re PR rtl-optimization/39196 (ICE in copyprop_hardreg_forward_1, at regrename.c:1603 during libjava compile)
2009-02-15 H.J. Lu <hongjiu.lu@intel.com> PR target/39196 * config/i386/i386.md: Restrict the new peephole2 to move between MMX/SSE registers. From-SVN: r144191
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.md3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7246098..0ab715f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2009-02-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/39196
+ * config/i386/i386.md: Restrict the new peephole2 to move
+ between MMX/SSE registers.
+
2009-02-15 Richard Guenther <rguenther@suse.de>
Revert
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index f8a4209..de669ba 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -20753,7 +20753,8 @@
[(match_dup 0)
(match_operand 2 "memory_operand" "")]))]
"operands[0] != operands[1]
- && (MMX_REG_P (operands[0]) || SSE_REG_P (operands[0]))"
+ && ((MMX_REG_P (operands[0]) && MMX_REG_P (operands[1]))
+ || (SSE_REG_P (operands[0]) && SSE_REG_P (operands[1])))"
[(set (match_dup 0) (match_dup 2))
(set (match_dup 0)
(match_op_dup 3 [(match_dup 0) (match_dup 1)]))]