Commit a6845123 by Richard Kenner

(decrement_and_branch): Ensure label is operand 0.

From-SVN: r9903
parent 455350f4
...@@ -7101,7 +7101,8 @@ ...@@ -7101,7 +7101,8 @@
"" ""
"@ "@
bctr bctr
{br|blr}") {br|blr}"
[(set_attr "type" "jmpreg")])
(define_insn "nop" (define_insn "nop"
[(const_int 0)] [(const_int 0)]
...@@ -7127,9 +7128,9 @@ ...@@ -7127,9 +7128,9 @@
[(set (pc) [(set (pc)
(if_then_else (ne (match_operand:SI 1 "register_operand" "0,*r,*r") (if_then_else (ne (match_operand:SI 1 "register_operand" "0,*r,*r")
(const_int 1)) (const_int 1))
(label_ref (match_operand 2 "" "")) (label_ref (match_operand 0 "" ""))
(pc))) (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))) (plus:SI (match_dup 1) (const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&x")) (clobber (match_scratch:CC 3 "=X,&x,&x"))
(clobber (match_scratch:SI 4 "=X,X,r"))] (clobber (match_scratch:SI 4 "=X,X,r"))]
...@@ -7139,9 +7140,9 @@ ...@@ -7139,9 +7140,9 @@
if (which_alternative != 0) if (which_alternative != 0)
return \"#\"; return \"#\";
else if (get_attr_length (insn) == 8) else if (get_attr_length (insn) == 8)
return \"{bdn|bdnz} %l2\"; return \"{bdn|bdnz} %l0\";
else else
return \"bdz $+8\;b %l2\"; return \"bdz $+8\;b %l0\";
}" }"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "*,12,16")]) (set_attr "length" "*,12,16")])
...@@ -7151,9 +7152,9 @@ ...@@ -7151,9 +7152,9 @@
[(set (pc) [(set (pc)
(if_then_else (ge (match_operand:SI 1 "register_operand" "0,*r,*r") (if_then_else (ge (match_operand:SI 1 "register_operand" "0,*r,*r")
(const_int 0)) (const_int 0))
(label_ref (match_operand 2 "" "")) (label_ref (match_operand 0 "" ""))
(pc))) (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))) (plus:SI (match_dup 1) (const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&X")) (clobber (match_scratch:CC 3 "=X,&x,&X"))
(clobber (match_scratch:SI 4 "=X,X,r"))] (clobber (match_scratch:SI 4 "=X,X,r"))]
...@@ -7163,9 +7164,9 @@ ...@@ -7163,9 +7164,9 @@
if (which_alternative != 0) if (which_alternative != 0)
return \"#\"; return \"#\";
else if (get_attr_length (insn) == 8) else if (get_attr_length (insn) == 8)
return \"{bdn|bdnz} %l2\"; return \"{bdn|bdnz} %l0\";
else else
return \"bdz $+8\;b %l2\"; return \"bdz $+8\;b %l0\";
}" }"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "*,12,16")]) (set_attr "length" "*,12,16")])
...@@ -7174,9 +7175,9 @@ ...@@ -7174,9 +7175,9 @@
[(set (pc) [(set (pc)
(if_then_else (eq (match_operand:SI 1 "register_operand" "0,*r,*r") (if_then_else (eq (match_operand:SI 1 "register_operand" "0,*r,*r")
(const_int 1)) (const_int 1))
(label_ref (match_operand 2 "" "")) (label_ref (match_operand 0 "" ""))
(pc))) (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))) (plus:SI (match_dup 1) (const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&x")) (clobber (match_scratch:CC 3 "=X,&x,&x"))
(clobber (match_scratch:SI 4 "=X,X,r"))] (clobber (match_scratch:SI 4 "=X,X,r"))]
...@@ -7186,9 +7187,9 @@ ...@@ -7186,9 +7187,9 @@
if (which_alternative != 0) if (which_alternative != 0)
return \"#\"; return \"#\";
else if (get_attr_length (insn) == 8) else if (get_attr_length (insn) == 8)
return \"bdz %l2\"; return \"bdz %l0\";
else else
return \"{bdn|bdnz} $+8\;b %l2\"; return \"{bdn|bdnz} $+8\;b %l0\";
}" }"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "*,12,16")]) (set_attr "length" "*,12,16")])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment