diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-06-08 18:23:50 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-06-08 18:23:50 -0400 |
commit | a684512372cf12c1105d69d353b42a1d4341b6dd (patch) | |
tree | f66068bc2726828e713788f13eba6c00df3f0a8b /gcc | |
parent | 455350f4173515b40c7a9dd64bb90061f42a8ae6 (diff) | |
download | gcc-a684512372cf12c1105d69d353b42a1d4341b6dd.zip gcc-a684512372cf12c1105d69d353b42a1d4341b6dd.tar.gz gcc-a684512372cf12c1105d69d353b42a1d4341b6dd.tar.bz2 |
(decrement_and_branch): Ensure label is operand 0.
From-SVN: r9903
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index da113ed..60ff71f 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -7101,7 +7101,8 @@ "" "@ bctr - {br|blr}") + {br|blr}" + [(set_attr "type" "jmpreg")]) (define_insn "nop" [(const_int 0)] @@ -7127,9 +7128,9 @@ [(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"))] @@ -7139,9 +7140,9 @@ 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")]) @@ -7151,9 +7152,9 @@ [(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"))] @@ -7163,9 +7164,9 @@ 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")]) @@ -7174,9 +7175,9 @@ [(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"))] @@ -7186,9 +7187,9 @@ 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")]) |