* i386.md (SSE cmov splitter): Handle memory operand in operand 5.

From-SVN: r61506
This commit is contained in:
Jan Hubicka 2003-01-20 14:37:03 +01:00 committed by Jan Hubicka
parent 0a18ddf91c
commit 5794139ae9
2 changed files with 9 additions and 2 deletions

View file

@ -1,3 +1,7 @@
Mon Jan 20 14:36:23 CET 2003 Jan Hubicka <jh@suse.cz>
* i386.md (SSE cmov splitter): Handle memory operand in operand 5.
2003-01-20 Andreas Schwab <schwab@suse.de>
* system.h: Don't declare strsignal if the decl test hasn't been

View file

@ -17229,7 +17229,7 @@
(define_split
[(set (match_operand 0 "register_operand" "")
(if_then_else (match_operator 1 "comparison_operator"
[(match_operand 4 "register_operand" "")
[(match_operand 4 "nonimmediate_operand" "")
(match_operand 5 "nonimmediate_operand" "")])
(match_operand 2 "nonmemory_operand" "")
(match_operand 3 "nonmemory_operand" "")))]
@ -17255,13 +17255,16 @@
}
}
PUT_MODE (operands[1], GET_MODE (operands[0]));
if (!sse_comparison_operator (operands[1], VOIDmode))
if (!sse_comparison_operator (operands[1], VOIDmode)
|| !rtx_equal_p (operands[0], operands[4]))
{
rtx tmp = operands[5];
operands[5] = operands[4];
operands[4] = tmp;
PUT_CODE (operands[1], swap_condition (GET_CODE (operands[1])));
}
if (!rtx_equal_p (operands[0], operands[4]))
abort ();
if (const0_operand (operands[2], GET_MODE (operands[0])))
{
operands[7] = operands[3];