aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-06-08 18:23:50 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-06-08 18:23:50 -0400
commita684512372cf12c1105d69d353b42a1d4341b6dd (patch)
treef66068bc2726828e713788f13eba6c00df3f0a8b /gcc
parent455350f4173515b40c7a9dd64bb90061f42a8ae6 (diff)
downloadgcc-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.md27
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")])