(decrement_and_branch): Ensure label is operand 0.
authorRichard Kenner <kenner@gcc.gnu.org>
Thu, 8 Jun 1995 22:23:50 +0000 (18:23 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Thu, 8 Jun 1995 22:23:50 +0000 (18:23 -0400)
From-SVN: r9903

gcc/config/rs6000/rs6000.md

index da113ed..60ff71f 100644 (file)
   ""
   "@
    bctr
-   {br|blr}")
+   {br|blr}"
+  [(set_attr "type" "jmpreg")])
 
 (define_insn "nop"
   [(const_int 0)]
   [(set (pc)
        (if_then_else (ne (match_operand:SI 1 "register_operand" "0,*r,*r")
                          (const_int 1))
-                     (label_ref (match_operand 2 "" ""))
+                     (label_ref (match_operand 0 "" ""))
                      (pc)))
-   (set (match_operand:SI 0 "register_operand" "=c,*r,m*q*c*l")
+   (set (match_operand:SI 2 "register_operand" "=c,*r,m*q*c*l")
        (plus:SI (match_dup 1) (const_int -1)))
    (clobber (match_scratch:CC 3 "=X,&x,&x"))
    (clobber (match_scratch:SI 4 "=X,X,r"))]
   if (which_alternative != 0)
     return \"#\";
   else if (get_attr_length (insn) == 8)
-    return \"{bdn|bdnz} %l2\";
+    return \"{bdn|bdnz} %l0\";
   else
-    return \"bdz $+8\;b %l2\";
+    return \"bdz $+8\;b %l0\";
 }"
   [(set_attr "type" "branch")
    (set_attr "length" "*,12,16")])
   [(set (pc)
        (if_then_else (ge (match_operand:SI 1 "register_operand" "0,*r,*r")
                          (const_int 0))
-                     (label_ref (match_operand 2 "" ""))
+                     (label_ref (match_operand 0 "" ""))
                      (pc)))
-   (set (match_operand:SI 0 "register_operand" "=c,*r,m*q*c*l")
+   (set (match_operand:SI 2 "register_operand" "=c,*r,m*q*c*l")
        (plus:SI (match_dup 1) (const_int -1)))
    (clobber (match_scratch:CC 3 "=X,&x,&X"))
    (clobber (match_scratch:SI 4 "=X,X,r"))]
   if (which_alternative != 0)
     return \"#\";
   else if (get_attr_length (insn) == 8)
-    return \"{bdn|bdnz} %l2\";
+    return \"{bdn|bdnz} %l0\";
   else
-    return \"bdz $+8\;b %l2\";
+    return \"bdz $+8\;b %l0\";
 }"
   [(set_attr "type" "branch")
    (set_attr "length" "*,12,16")])
   [(set (pc)
        (if_then_else (eq (match_operand:SI 1 "register_operand" "0,*r,*r")
                          (const_int 1))
-                     (label_ref (match_operand 2 "" ""))
+                     (label_ref (match_operand 0 "" ""))
                      (pc)))
-   (set (match_operand:SI 0 "register_operand" "=c,*r,m*q*c*l")
+   (set (match_operand:SI 2 "register_operand" "=c,*r,m*q*c*l")
        (plus:SI (match_dup 1) (const_int -1)))
    (clobber (match_scratch:CC 3 "=X,&x,&x"))
    (clobber (match_scratch:SI 4 "=X,X,r"))]
   if (which_alternative != 0)
     return \"#\";
   else if (get_attr_length (insn) == 8)
-    return \"bdz %l2\";
+    return \"bdz %l0\";
   else
-    return \"{bdn|bdnz} $+8\;b %l2\";
+    return \"{bdn|bdnz} $+8\;b %l0\";
 }"
   [(set_attr "type" "branch")
    (set_attr "length" "*,12,16")])