Commit f021d6fc by Jan Hubicka Committed by Jan Hubicka

i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p instead of...


	* i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
	instead of rtx_equal_p; fix the output template.

From-SVN: r40959
parent 885a70fd
Fri Mar 30 00:31:00 CEST 2001 Jan Hubicka <jh@suse.cz>
* i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
instead of rtx_equal_p; fix the output template.
Fri Mar 30 00:21:41 CEST 2001 Jan Hubicka <jh@suse.cz> Fri Mar 30 00:21:41 CEST 2001 Jan Hubicka <jh@suse.cz>
* i386.c (ix86_expand_setcc): Support 64bit. * i386.c (ix86_expand_setcc): Support 64bit.
......
...@@ -15582,7 +15582,7 @@ ...@@ -15582,7 +15582,7 @@
(match_operand:SF 4 "nonimmediate_operand" "xm#f,xm#f,f#x,x#f,f#x,x#f")) (match_operand:SF 4 "nonimmediate_operand" "xm#f,xm#f,f#x,x#f,f#x,x#f"))
(match_operand:SF 1 "nonimmediate_operand" "x#fr,0#fr,0#fx,0#fx,0#rx,0#rx") (match_operand:SF 1 "nonimmediate_operand" "x#fr,0#fr,0#fx,0#fx,0#rx,0#rx")
(match_operand:SF 2 "nonimmediate_operand" "x#fr,x#fr,f#fx,f#fx,rm#rx,rm#rx"))) (match_operand:SF 2 "nonimmediate_operand" "x#fr,x#fr,f#fx,f#fx,rm#rx,rm#rx")))
(clobber (match_scratch:SF 5 "=1,&4,X,X,X,X")) (clobber (match_scratch:SF 5 "=1,&3,X,X,X,X"))
(clobber (reg:CC 17))] (clobber (reg:CC 17))]
"TARGET_SSE "TARGET_SSE
&& (GET_CODE (operands[2]) != MEM || GET_CODE (operands[3]) != MEM)" && (GET_CODE (operands[2]) != MEM || GET_CODE (operands[3]) != MEM)"
...@@ -15655,18 +15655,18 @@ ...@@ -15655,18 +15655,18 @@
"SSE_REG_P (operands[0]) && reload_completed" "SSE_REG_P (operands[0]) && reload_completed"
[(set (match_dup 4) (match_op_dup 1 [(match_dup 4) (match_dup 5)])) [(set (match_dup 4) (match_op_dup 1 [(match_dup 4) (match_dup 5)]))
(set (subreg:TI (match_dup 2) 0) (and:TI (subreg:TI (match_dup 2) 0) (set (subreg:TI (match_dup 2) 0) (and:TI (subreg:TI (match_dup 2) 0)
(subreg:TI (match_dup 0) 0))) (subreg:TI (match_dup 4) 0)))
(set (subreg:TI (match_dup 4) 0) (and:TI (not:TI (subreg:TI (match_dup 0) 0)) (set (subreg:TI (match_dup 4) 0) (and:TI (not:TI (subreg:TI (match_dup 4) 0))
(subreg:TI (match_dup 3) 0))) (subreg:TI (match_dup 3) 0)))
(set (subreg:TI (match_dup 0) 0) (ior:TI (subreg:TI (match_dup 6) 0) (set (subreg:TI (match_dup 0) 0) (ior:TI (subreg:TI (match_dup 6) 0)
(subreg:TI (match_dup 7) 0)))] (subreg:TI (match_dup 7) 0)))]
" "
{ {
PUT_MODE (operands[1], GET_MODE (operands[0])); PUT_MODE (operands[1], GET_MODE (operands[0]));
if (rtx_equal_p (operands[0], operands[4])) if (operands_match_p (operands[0], operands[4]))
operands[6] = operands[4], operands[7] = operands[2]; operands[6] = operands[4], operands[7] = operands[2];
else else
operands[6] = operands[2], operands[7] = operands[0]; operands[6] = operands[2], operands[7] = operands[4];
}") }")
;; Special case of conditional move we can handle effectivly. ;; Special case of conditional move we can handle effectivly.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment