diff options
author | Jan Hubicka <hubicka@freesoft.cz> | 1999-12-17 01:35:39 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 1999-12-17 00:35:39 +0000 |
commit | a1cbdd7f515eb1b2b444e3d1b5c8ac64df62042e (patch) | |
tree | 8c55544ae39b990d134c1288ef9314cec852fad3 | |
parent | 607cf13135fdf7c664bb26f7cf2c5b3c18204f96 (diff) | |
download | gcc-a1cbdd7f515eb1b2b444e3d1b5c8ac64df62042e.zip gcc-a1cbdd7f515eb1b2b444e3d1b5c8ac64df62042e.tar.gz gcc-a1cbdd7f515eb1b2b444e3d1b5c8ac64df62042e.tar.bz2 |
i386.md (test?i_1): Use "nonmemory_operand" predicate, simplify condition.
* i386.md (test?i_1): Use "nonmemory_operand" predicate, simplify
condition.
(one_cmpl?i*): Pass "NOT" to unary_operator_ok.
From-SVN: r30984
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 37 |
2 files changed, 23 insertions, 20 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5473179..a261619 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Fri Dec 17 01:32:38 MET 1999 Jan Hubicka <hubicka@freesoft.cz> + + * i386.md (test?i_1): Use "nonmemory_operand" predicate, simplify + condition. + (one_cmpl?i*): Pass "NOT" to unary_operator_ok. + 1999-12-16 Mark Mitchell <mark@codesourcery.com> * Makefile.in (INTREGRATE_H): Rename to INTEGRATE_H. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 96f1aba..d2b3945 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -4195,9 +4195,9 @@ (define_insn "testsi_1" [(set (reg:CCNO 17) (compare:CCNO (and:SI (match_operand:SI 0 "nonimmediate_operand" "%*a,r,rm") - (match_operand:SI 1 "general_operand" "in,in,rin")) + (match_operand:SI 1 "nonmemory_operand" "in,in,rin")) (const_int 0)))] - "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" + "" "test{l}\\t{%1, %0|%0, %1}" [(set_attr "type" "icmp") (set_attr "pent_pair" "uv,np,uv")]) @@ -4205,9 +4205,9 @@ (define_insn "*testhi_1" [(set (reg:CCNO 17) (compare:CCNO (and:HI (match_operand:HI 0 "nonimmediate_operand" "%*a,r,rm") - (match_operand:HI 1 "general_operand" "n,n,rn")) + (match_operand:HI 1 "nonmemory_operand" "n,n,rn")) (const_int 0)))] - "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" + "" "test{w}\\t{%1, %0|%0, %1}" [(set_attr "type" "icmp") (set_attr "pent_pair" "uv,np,uv")]) @@ -4215,9 +4215,9 @@ (define_insn "testqi_1" [(set (reg:CCNO 17) (compare:CCNO (and:QI (match_operand:QI 0 "nonimmediate_operand" "%*a,q,qm") - (match_operand:QI 1 "general_operand" "n,n,qn")) + (match_operand:QI 1 "nonmemory_operand" "n,n,qn")) (const_int 0)))] - "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" + "" "test{b}\\t{%1, %0|%0, %1}" [(set_attr "type" "icmp") (set_attr "pent_pair" "uv,np,uv")]) @@ -5347,16 +5347,15 @@ ;; One complement instructions (define_expand "one_cmplsi2" - [(parallel [(set (match_operand:SI 0 "nonimmediate_operand" "") - (not:SI (match_operand:SI 1 "nonimmediate_operand" ""))) - (clobber (reg:CC 17))])] + [(set (match_operand:SI 0 "nonimmediate_operand" "") + (not:SI (match_operand:SI 1 "nonimmediate_operand" "")))] "" "ix86_expand_unary_operator (NOT, SImode, operands); DONE;") (define_insn "*one_cmplsi2_1" [(set (match_operand:SI 0 "nonimmediate_operand" "=rm") (not:SI (match_operand:SI 1 "nonimmediate_operand" "0")))] - "ix86_unary_operator_ok (NEG, SImode, operands)" + "ix86_unary_operator_ok (NOT, SImode, operands)" "not{l}\\t%0" [(set_attr "type" "negnot")]) @@ -5366,7 +5365,7 @@ (const_int 0))) (set (match_operand:SI 0 "nonimmediate_operand" "=rm") (not:SI (match_dup 1)))] - "ix86_unary_operator_ok (NEG, SImode, operands)" + "ix86_unary_operator_ok (NOT, SImode, operands)" "#" [(set_attr "type" "alu1")]) @@ -5385,16 +5384,15 @@ "") (define_expand "one_cmplhi2" - [(parallel [(set (match_operand:HI 0 "nonimmediate_operand" "") - (not:HI (match_operand:HI 1 "nonimmediate_operand" ""))) - (clobber (reg:CC 17))])] + [(set (match_operand:HI 0 "nonimmediate_operand" "") + (not:HI (match_operand:HI 1 "nonimmediate_operand" "")))] "" "ix86_expand_unary_operator (NOT, HImode, operands); DONE;") (define_insn "*one_cmplhi2_1" [(set (match_operand:HI 0 "nonimmediate_operand" "=rm") (not:HI (match_operand:HI 1 "nonimmediate_operand" "0")))] - "ix86_unary_operator_ok (NEG, HImode, operands)" + "ix86_unary_operator_ok (NOT, HImode, operands)" "not{w}\\t%0" [(set_attr "type" "negnot")]) @@ -5434,16 +5432,15 @@ ;; %%% Potential partial reg stall on alternative 1. What to do? (define_expand "one_cmplqi2" - [(parallel [(set (match_operand:QI 0 "nonimmediate_operand" "") - (not:QI (match_operand:QI 1 "nonimmediate_operand" ""))) - (clobber (reg:CC 17))])] + [(set (match_operand:QI 0 "nonimmediate_operand" "") + (not:QI (match_operand:QI 1 "nonimmediate_operand" "")))] "" "ix86_expand_unary_operator (NOT, QImode, operands); DONE;") (define_insn "*one_cmplqi2_1" [(set (match_operand:QI 0 "nonimmediate_operand" "=qm,r") (not:QI (match_operand:QI 1 "nonimmediate_operand" "0,0")))] - "ix86_unary_operator_ok (NEG, QImode, operands)" + "ix86_unary_operator_ok (NOT, QImode, operands)" "@ not{b}\\t%0 not{l}\\t%k0" @@ -5455,7 +5452,7 @@ (const_int 0))) (set (match_operand:QI 0 "nonimmediate_operand" "=qm") (not:QI (match_dup 1)))] - "ix86_unary_operator_ok (NEG, QImode, operands)" + "ix86_unary_operator_ok (NOT, QImode, operands)" "#" [(set_attr "type" "alu1")]) |