* config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Dec 2002 19:55:12 +0000 (19:55 +0000)
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Dec 2002 19:55:12 +0000 (19:55 +0000)
"*tstqiCCT", "*tstqiCCT_cconly"): New insns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60322 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/s390/s390.md

index d13dac7..47f7ef5 100644 (file)
@@ -1,3 +1,8 @@
+2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
+       "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
+
 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
        PR target/8340
index 4767ebb..fe41557 100644 (file)
   "ltr\\t%0,%0"
   [(set_attr "op_type" "RR")])
 
+(define_insn "*tsthiCCT"
+  [(set (reg 33)
+        (compare (match_operand:HI 0 "nonimmediate_operand" "?Q,d")
+                 (match_operand:HI 1 "const0_operand" "")))
+   (set (match_operand:HI 2 "register_operand" "=d,0")
+        (match_dup 0))]
+  "s390_match_ccmode(insn, CCTmode)"
+  "@
+   icm\\t%2,3,%0
+   tml\\t%0,65535"
+  [(set_attr "op_type" "RS,RI")
+   (set_attr "atype"   "mem,reg")])
+
+(define_insn "*tsthiCCT_cconly"
+  [(set (reg 33)
+        (compare (match_operand:HI 0 "nonimmediate_operand" "?Q,d")
+                 (match_operand:HI 1 "const0_operand" "")))
+   (clobber (match_scratch:HI 2 "=d,X"))]
+  "s390_match_ccmode(insn, CCTmode)"
+  "@
+   icm\\t%2,3,%0
+   tml\\t%0,65535"
+  [(set_attr "op_type" "RS,RI")
+   (set_attr "atype"   "mem,reg")])
+
 (define_insn "*tsthi"
   [(set (reg 33)
         (compare (match_operand:HI 0 "s_operand" "Q")
   [(set_attr "op_type" "RS")
    (set_attr "atype"   "mem")])
 
+(define_insn "*tstqiCCT"
+  [(set (reg 33)
+        (compare (match_operand:QI 0 "nonimmediate_operand" "?Q,d")
+                 (match_operand:QI 1 "const0_operand" "")))
+   (set (match_operand:QI 2 "register_operand" "=d,0")
+        (match_dup 0))]
+  "s390_match_ccmode(insn, CCTmode)"
+  "@
+   icm\\t%2,1,%0
+   tml\\t%0,255"
+  [(set_attr "op_type" "RS,RI")
+   (set_attr "atype"   "mem,reg")])
+
+(define_insn "*tstqiCCT_cconly"
+  [(set (reg 33)
+        (compare (match_operand:QI 0 "nonimmediate_operand" "?Q,d")
+                 (match_operand:QI 1 "const0_operand" "")))]
+  "s390_match_ccmode(insn, CCTmode)"
+  "@
+   cli\\t%0,0
+   tml\\t%0,255"
+  [(set_attr "op_type" "SI,RI")
+   (set_attr "atype"   "mem,reg")])
+
 (define_insn "*tstqi"
   [(set (reg 33)
         (compare (match_operand:QI 0 "s_operand" "Q")