From 324e52cc5b57fdc9a0e529ae97cba33109a08791 Mon Sep 17 00:00:00 2001 From: Torbjorn Granlund Date: Sat, 12 Feb 1994 01:06:14 +0000 Subject: [PATCH] (definition of "type"): Add "jmpreg" as new type. Change "mtlr" to "mtjmpr". (movsi matcher): Pair `c' and `l' in the same constraint alternative. (return): Set attribute to "jmpreg". (indirect_jump): Likewise. From-SVN: r6534 --- gcc/config/rs6000/rs6000.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 7c5388ffe23..b4814630c9e 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -22,7 +22,7 @@ ;; Define an insn type attribute. This is used in function unit delay ;; computations. -(define_attr "type" "integer,load,fpload,imul,idiv,branch,compare,delayed_compare,fpcompare,mtlr,fp,dmul,sdiv,ddiv,ssqrt,dsqrt" +(define_attr "type" "integer,load,fpload,imul,idiv,branch,compare,delayed_compare,fpcompare,mtjmpr,fp,dmul,sdiv,ddiv,ssqrt,dsqrt,jmpreg" (const_string "integer")) ;; Length (in bytes). @@ -104,12 +104,12 @@ 4 0) (define_function_unit "bpu" 1 0 - (and (eq_attr "type" "mtlr") + (and (eq_attr "type" "mtjmpr") (eq_attr "cpu" "rios1,rios2")) 5 0) (define_function_unit "bpu" 1 0 - (and (eq_attr "type" "mtlr") + (and (eq_attr "type" "mtjmpr") (eq_attr "cpu" "ppc601,ppc603,ppc604,ppc620")) 4 0) @@ -2866,7 +2866,7 @@ }") (define_insn "" - [(set (match_operand:SI 0 "nonimmediate_operand" "=r,r,m,r,r,r,*c*q,*l,*h") + [(set (match_operand:SI 0 "nonimmediate_operand" "=r,r,m,r,r,r,*q,*c*l,*h") (match_operand:SI 1 "input_operand" "r,m,r,I,J,*h,r,r,0"))] "TARGET_POWER && (gpc_reg_operand (operands[0], SImode) || gpc_reg_operand (operands[1], SImode))" @@ -2880,7 +2880,7 @@ mt%0 %1 mt%0 %1 cror 0,0,0" - [(set_attr "type" "*,load,*,*,*,*,*,mtlr,*")]) + [(set_attr "type" "*,load,*,*,*,*,*,mtjmpr,*")]) (define_insn "" [(set (match_operand:SI 0 "nonimmediate_operand" "=r,r,m,r,r,r,*h") @@ -5492,14 +5492,16 @@ (define_insn "return" [(return)] "direct_return ()" - "{br|blr}") + "{br|blr}" + [(set_attr "type" "jmpreg")]) (define_insn "indirect_jump" [(set (pc) (match_operand:SI 0 "register_operand" "c,l"))] "" "@ bctr - {br|blr}") + {br|blr}" + [(set_attr "type" "jmpreg")]) ;; Table jump for switch statements: (define_expand "tablejump" -- 2.30.2