Commit a1cbdd7f by Jan Hubicka Committed by Jan Hubicka

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
parent 607cf131
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> 1999-12-16 Mark Mitchell <mark@codesourcery.com>
* Makefile.in (INTREGRATE_H): Rename to INTEGRATE_H. * Makefile.in (INTREGRATE_H): Rename to INTEGRATE_H.
......
...@@ -4195,9 +4195,9 @@ ...@@ -4195,9 +4195,9 @@
(define_insn "testsi_1" (define_insn "testsi_1"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (and:SI (match_operand:SI 0 "nonimmediate_operand" "%*a,r,rm") (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)))] (const_int 0)))]
"GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" ""
"test{l}\\t{%1, %0|%0, %1}" "test{l}\\t{%1, %0|%0, %1}"
[(set_attr "type" "icmp") [(set_attr "type" "icmp")
(set_attr "pent_pair" "uv,np,uv")]) (set_attr "pent_pair" "uv,np,uv")])
...@@ -4205,9 +4205,9 @@ ...@@ -4205,9 +4205,9 @@
(define_insn "*testhi_1" (define_insn "*testhi_1"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (and:HI (match_operand:HI 0 "nonimmediate_operand" "%*a,r,rm") (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)))] (const_int 0)))]
"GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" ""
"test{w}\\t{%1, %0|%0, %1}" "test{w}\\t{%1, %0|%0, %1}"
[(set_attr "type" "icmp") [(set_attr "type" "icmp")
(set_attr "pent_pair" "uv,np,uv")]) (set_attr "pent_pair" "uv,np,uv")])
...@@ -4215,9 +4215,9 @@ ...@@ -4215,9 +4215,9 @@
(define_insn "testqi_1" (define_insn "testqi_1"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (and:QI (match_operand:QI 0 "nonimmediate_operand" "%*a,q,qm") (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)))] (const_int 0)))]
"GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" ""
"test{b}\\t{%1, %0|%0, %1}" "test{b}\\t{%1, %0|%0, %1}"
[(set_attr "type" "icmp") [(set_attr "type" "icmp")
(set_attr "pent_pair" "uv,np,uv")]) (set_attr "pent_pair" "uv,np,uv")])
...@@ -5347,16 +5347,15 @@ ...@@ -5347,16 +5347,15 @@
;; One complement instructions ;; One complement instructions
(define_expand "one_cmplsi2" (define_expand "one_cmplsi2"
[(parallel [(set (match_operand:SI 0 "nonimmediate_operand" "") [(set (match_operand:SI 0 "nonimmediate_operand" "")
(not:SI (match_operand:SI 1 "nonimmediate_operand" ""))) (not:SI (match_operand:SI 1 "nonimmediate_operand" "")))]
(clobber (reg:CC 17))])]
"" ""
"ix86_expand_unary_operator (NOT, SImode, operands); DONE;") "ix86_expand_unary_operator (NOT, SImode, operands); DONE;")
(define_insn "*one_cmplsi2_1" (define_insn "*one_cmplsi2_1"
[(set (match_operand:SI 0 "nonimmediate_operand" "=rm") [(set (match_operand:SI 0 "nonimmediate_operand" "=rm")
(not:SI (match_operand:SI 1 "nonimmediate_operand" "0")))] (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" "not{l}\\t%0"
[(set_attr "type" "negnot")]) [(set_attr "type" "negnot")])
...@@ -5366,7 +5365,7 @@ ...@@ -5366,7 +5365,7 @@
(const_int 0))) (const_int 0)))
(set (match_operand:SI 0 "nonimmediate_operand" "=rm") (set (match_operand:SI 0 "nonimmediate_operand" "=rm")
(not:SI (match_dup 1)))] (not:SI (match_dup 1)))]
"ix86_unary_operator_ok (NEG, SImode, operands)" "ix86_unary_operator_ok (NOT, SImode, operands)"
"#" "#"
[(set_attr "type" "alu1")]) [(set_attr "type" "alu1")])
...@@ -5385,16 +5384,15 @@ ...@@ -5385,16 +5384,15 @@
"") "")
(define_expand "one_cmplhi2" (define_expand "one_cmplhi2"
[(parallel [(set (match_operand:HI 0 "nonimmediate_operand" "") [(set (match_operand:HI 0 "nonimmediate_operand" "")
(not:HI (match_operand:HI 1 "nonimmediate_operand" ""))) (not:HI (match_operand:HI 1 "nonimmediate_operand" "")))]
(clobber (reg:CC 17))])]
"" ""
"ix86_expand_unary_operator (NOT, HImode, operands); DONE;") "ix86_expand_unary_operator (NOT, HImode, operands); DONE;")
(define_insn "*one_cmplhi2_1" (define_insn "*one_cmplhi2_1"
[(set (match_operand:HI 0 "nonimmediate_operand" "=rm") [(set (match_operand:HI 0 "nonimmediate_operand" "=rm")
(not:HI (match_operand:HI 1 "nonimmediate_operand" "0")))] (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" "not{w}\\t%0"
[(set_attr "type" "negnot")]) [(set_attr "type" "negnot")])
...@@ -5434,16 +5432,15 @@ ...@@ -5434,16 +5432,15 @@
;; %%% Potential partial reg stall on alternative 1. What to do? ;; %%% Potential partial reg stall on alternative 1. What to do?
(define_expand "one_cmplqi2" (define_expand "one_cmplqi2"
[(parallel [(set (match_operand:QI 0 "nonimmediate_operand" "") [(set (match_operand:QI 0 "nonimmediate_operand" "")
(not:QI (match_operand:QI 1 "nonimmediate_operand" ""))) (not:QI (match_operand:QI 1 "nonimmediate_operand" "")))]
(clobber (reg:CC 17))])]
"" ""
"ix86_expand_unary_operator (NOT, QImode, operands); DONE;") "ix86_expand_unary_operator (NOT, QImode, operands); DONE;")
(define_insn "*one_cmplqi2_1" (define_insn "*one_cmplqi2_1"
[(set (match_operand:QI 0 "nonimmediate_operand" "=qm,r") [(set (match_operand:QI 0 "nonimmediate_operand" "=qm,r")
(not:QI (match_operand:QI 1 "nonimmediate_operand" "0,0")))] (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{b}\\t%0
not{l}\\t%k0" not{l}\\t%k0"
...@@ -5455,7 +5452,7 @@ ...@@ -5455,7 +5452,7 @@
(const_int 0))) (const_int 0)))
(set (match_operand:QI 0 "nonimmediate_operand" "=qm") (set (match_operand:QI 0 "nonimmediate_operand" "=qm")
(not:QI (match_dup 1)))] (not:QI (match_dup 1)))]
"ix86_unary_operator_ok (NEG, QImode, operands)" "ix86_unary_operator_ok (NOT, QImode, operands)"
"#" "#"
[(set_attr "type" "alu1")]) [(set_attr "type" "alu1")])
......
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