summaryrefslogtreecommitdiff
path: root/gcc/config/i386/i386.md
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/config/i386/i386.md
parentbbcac3becb8dcc1cf5a8d65926ce15b296f4367c (diff)
downloadgcc-47f5a48f4abe2a35deddab932cc3241ba6fe335f.tar.gz
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/config/i386/i386.md')
-rw-r--r--gcc/config/i386/i386.md3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index f8a4209c79a..de669ba865e 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)]))]