diff options
author | Jan Hubicka <jh@suse.cz> | 2001-03-30 00:32:53 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2001-03-29 22:32:53 +0000 |
commit | f021d6fc66aa57bfee4437ceb9f53e8c428436f4 (patch) | |
tree | 2c74863cca339abfc0cfc49518b05215a561f340 | |
parent | 885a70fdff53beb587e130d48162eba8ff2a7480 (diff) | |
download | gcc-f021d6fc66aa57bfee4437ceb9f53e8c428436f4.zip gcc-f021d6fc66aa57bfee4437ceb9f53e8c428436f4.tar.gz gcc-f021d6fc66aa57bfee4437ceb9f53e8c428436f4.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 10 |
2 files changed, 10 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 826b875..6696baf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +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> * i386.c (ix86_expand_setcc): Support 64bit. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 695d488..d8c402e 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -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 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"))) - (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))] "TARGET_SSE && (GET_CODE (operands[2]) != MEM || GET_CODE (operands[3]) != MEM)" @@ -15655,18 +15655,18 @@ "SSE_REG_P (operands[0]) && reload_completed" [(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) - (subreg:TI (match_dup 0) 0))) - (set (subreg:TI (match_dup 4) 0) (and:TI (not:TI (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 4) 0)) (subreg:TI (match_dup 3) 0))) (set (subreg:TI (match_dup 0) 0) (ior:TI (subreg:TI (match_dup 6) 0) (subreg:TI (match_dup 7) 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]; 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. |