]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
pa.md: Allow "const 0" operand 1 in "scc" insns.
authorJohn David Anglin <danglin@gcc.gnu.org>
Sun, 1 Sep 2013 16:56:11 +0000 (16:56 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Sun, 1 Sep 2013 16:56:11 +0000 (16:56 +0000)
* config/pa/pa.md: Allow "const 0" operand 1 in "scc" insns.

From-SVN: r202152

gcc/ChangeLog
gcc/config/pa/pa.md

index 015e4a99b3b021ee720a64aa0fff0f4a8c118127..bffb96151effeea3141d402da17b2bb089e6b37f 100644 (file)
@@ -1,3 +1,7 @@
+2013-09-01  John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/pa/pa.md: Allow "const 0" operand 1 in "scc" insns.
+
 2013-09-01  Iain Sandoe  <iain@codesourcery.com>
 
        Backport from mainline:
index 79a15d67c272ad71f1e4f5034900c814194f1e4b..9577fb4e6e0ce21d37a8361e8239dfee41b6b32a 100644 (file)
 (define_insn "scc"
   [(set (match_operand:SI 0 "register_operand" "=r")
        (match_operator:SI 3 "comparison_operator"
-                          [(match_operand:SI 1 "register_operand" "r")
+                          [(match_operand:SI 1 "reg_or_0_operand" "rM")
                            (match_operand:SI 2 "arith11_operand" "rI")]))]
   ""
   "{com%I2clr|cmp%I2clr},%B3 %2,%1,%0\;ldi 1,%0"
 (define_insn ""
   [(set (match_operand:DI 0 "register_operand" "=r")
        (match_operator:DI 3 "comparison_operator"
-                          [(match_operand:DI 1 "register_operand" "r")
+                          [(match_operand:DI 1 "reg_or_0_operand" "rM")
                            (match_operand:DI 2 "arith11_operand" "rI")]))]
   "TARGET_64BIT"
   "cmp%I2clr,*%B3 %2,%1,%0\;ldi 1,%0"
 (define_insn "iorscc"
   [(set (match_operand:SI 0 "register_operand" "=r")
        (ior:SI (match_operator:SI 3 "comparison_operator"
-                                  [(match_operand:SI 1 "register_operand" "r")
+                                  [(match_operand:SI 1 "reg_or_0_operand" "rM")
                                    (match_operand:SI 2 "arith11_operand" "rI")])
                (match_operator:SI 6 "comparison_operator"
-                                  [(match_operand:SI 4 "register_operand" "r")
+                                  [(match_operand:SI 4 "reg_or_0_operand" "rM")
                                    (match_operand:SI 5 "arith11_operand" "rI")])))]
   ""
   "{com%I2clr|cmp%I2clr},%S3 %2,%1,%%r0\;{com%I5clr|cmp%I5clr},%B6 %5,%4,%0\;ldi 1,%0"
 (define_insn ""
   [(set (match_operand:DI 0 "register_operand" "=r")
        (ior:DI (match_operator:DI 3 "comparison_operator"
-                                  [(match_operand:DI 1 "register_operand" "r")
+                                  [(match_operand:DI 1 "reg_or_0_operand" "rM")
                                    (match_operand:DI 2 "arith11_operand" "rI")])
                (match_operator:DI 6 "comparison_operator"
-                                  [(match_operand:DI 4 "register_operand" "r")
+                                  [(match_operand:DI 4 "reg_or_0_operand" "rM")
                                    (match_operand:DI 5 "arith11_operand" "rI")])))]
   "TARGET_64BIT"
   "cmp%I2clr,*%S3 %2,%1,%%r0\;cmp%I5clr,*%B6 %5,%4,%0\;ldi 1,%0"
 (define_insn "negscc"
   [(set (match_operand:SI 0 "register_operand" "=r")
        (neg:SI (match_operator:SI 3 "comparison_operator"
-              [(match_operand:SI 1 "register_operand" "r")
+              [(match_operand:SI 1 "reg_or_0_operand" "rM")
                (match_operand:SI 2 "arith11_operand" "rI")])))]
   ""
   "{com%I2clr|cmp%I2clr},%B3 %2,%1,%0\;ldi -1,%0"
 (define_insn ""
   [(set (match_operand:DI 0 "register_operand" "=r")
        (neg:DI (match_operator:DI 3 "comparison_operator"
-              [(match_operand:DI 1 "register_operand" "r")
+              [(match_operand:DI 1 "reg_or_0_operand" "rM")
                (match_operand:DI 2 "arith11_operand" "rI")])))]
   "TARGET_64BIT"
   "cmp%I2clr,*%B3 %2,%1,%0\;ldi -1,%0"