i386.md (test?i_1): Use "nonmemory_operand" predicate, simplify condition.
authorJan Hubicka <hubicka@freesoft.cz>
Fri, 17 Dec 1999 00:35:39 +0000 (01:35 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Fri, 17 Dec 1999 00:35:39 +0000 (00:35 +0000)
* i386.md (test?i_1): Use "nonmemory_operand" predicate, simplify
condition.
(one_cmpl?i*): Pass "NOT" to unary_operator_ok.

From-SVN: r30984

gcc/ChangeLog
gcc/config/i386/i386.md

index 5473179..a261619 100644 (file)
@@ -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.
index 96f1aba..d2b3945 100644 (file)
 (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")])