* i386.md (SSE cmov splitter): Handle memory operand in operand 5.
From-SVN: r61506
This commit is contained in:
parent
0a18ddf91c
commit
5794139ae9
2 changed files with 9 additions and 2 deletions
|
@ -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
|
||||
|
|
|
@ -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];
|
||||
|
|
Loading…
Add table
Reference in a new issue