From 7b58414f13c294ed9d2681548c430d5d1228ce7f Mon Sep 17 00:00:00 2001
From: hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri, 17 Dec 1999 00:35:39 +0000
Subject: [PATCH] 	* i386.md (test?i_1): Use "nonmemory_operand"
 predicate, simplify 	condition. 	(one_cmpl?i*): Pass "NOT" to
 unary_operator_ok.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30984 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/ChangeLog           |  6 ++++++
 gcc/config/i386/i386.md | 37 +++++++++++++++++--------------------
 2 files changed, 23 insertions(+), 20 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5473179ef548..a2616195a430 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 96f1aba8247e..d2b3945b55e5 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")])
 
-- 
GitLab