diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2009-02-15 20:12:41 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2009-02-15 12:12:41 -0800 |
commit | 47f5a48f4abe2a35deddab932cc3241ba6fe335f (patch) | |
tree | b18304654da5a06ede353d6d96a915c4d962541f /gcc/config/i386/i386.md | |
parent | bbcac3becb8dcc1cf5a8d65926ce15b296f4367c (diff) | |
download | gcc-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.md | 3 |
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)]))] |