(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")])
(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")])
(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")])
;; 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")])
(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")])
"")
(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")])
;; %%% 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"
(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")])