aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@freesoft.cz>1999-12-17 01:35:39 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>1999-12-17 00:35:39 +0000
commita1cbdd7f515eb1b2b444e3d1b5c8ac64df62042e (patch)
tree8c55544ae39b990d134c1288ef9314cec852fad3
parent607cf13135fdf7c664bb26f7cf2c5b3c18204f96 (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/config/i386/i386.md37
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")])