* config/pa/pa.md: Allow "const 0" operand 1 in "scc" insns.
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 1 Sep 2013 16:35:06 +0000 (16:35 +0000)
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 1 Sep 2013 16:35:06 +0000 (16:35 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202149 138bc75d-0d04-0410-961f-82ee72b054a4

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

index c4cc9b7..5943e4e 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  Jan Hubicka  <jh@suse.cz>
 
        * common.opt (fdevirtualize-speculatively): New function.
index be07d2a..80c4d43 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"