PR target/11992
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 Dec 2003 21:51:57 +0000 (21:51 +0000)
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 Dec 2003 21:51:57 +0000 (21:51 +0000)
* config/s390/s390.md ("*cmpmem_long_64"): Use CLCLE instruction
instead of CLCL.
("*cmpmem_long_31"): Likewise.

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

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

index fb94d1f..34aa467 100644 (file)
@@ -1,3 +1,10 @@
+2003-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       PR target/11992
+       * config/s390/s390.md ("*cmpmem_long_64"): Use CLCLE instruction
+       instead of CLCL.
+       ("*cmpmem_long_31"): Likewise.
+
 2003-12-17  Vladimir Makarov  <vmakarov@redhat.com>
 
        * config/ia64/ia64.c: Add more comments about insn bundling.
index 3f6f6b3..4ebaae5 100644 (file)
    (use (match_dup 2))
    (use (match_dup 3))]
   "TARGET_64BIT"
-  "clcl\t%0,%1"
-  [(set_attr "op_type" "RR")
-   (set_attr "type"    "vs")])
+  "clcle\t%0,%1,0\;jo\t.-4"
+  [(set_attr "op_type" "NN")
+   (set_attr "type"    "vs")
+   (set_attr "length"  "8")])
 
 (define_insn "*cmpmem_long_31"
   [(clobber (match_operand:DI 0 "register_operand" "=d"))
    (use (match_dup 2))
    (use (match_dup 3))]
   "!TARGET_64BIT"
-  "clcl\t%0,%1"
-  [(set_attr "op_type" "RR")
-   (set_attr "type"    "vs")])
+  "clcle\t%0,%1,0\;jo\t.-4"
+  [(set_attr "op_type" "NN")
+   (set_attr "type"    "vs")
+   (set_attr "length"  "8")])
 
 ; Convert condition code to integer in range (-1, 0, 1)