From 47f5a48f4abe2a35deddab932cc3241ba6fe335f Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sun, 15 Feb 2009 20:12:41 +0000 Subject: [PATCH] re PR rtl-optimization/39196 (ICE in copyprop_hardreg_forward_1, at regrename.c:1603 during libjava compile) 2009-02-15 H.J. Lu PR target/39196 * config/i386/i386.md: Restrict the new peephole2 to move between MMX/SSE registers. From-SVN: r144191 --- gcc/ChangeLog | 6 ++++++ gcc/config/i386/i386.md | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 724609842d3a..0ab715f7eda4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2009-02-15 H.J. Lu + + PR target/39196 + * config/i386/i386.md: Restrict the new peephole2 to move + between MMX/SSE registers. + 2009-02-15 Richard Guenther Revert diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index f8a4209c79a6..de669ba865e7 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)]))] -- 2.47.2