diff options
Diffstat (limited to 'gcc/config/rs6000/rs6000.md')
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 4573330a820..66a23508cf7 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -13992,11 +13992,7 @@ operands[2] = GEN_INT (INTVAL (operands[1]) >> 32); "" "* { - if (get_attr_length (insn) == 8) - return \"%C1bc %t1,%j1,%l0\"; - else - return \"%C1bc %T1,%j1,%$+8\;b %l0\"; - + return output_cbranch (operands[1], \"%l0\", 0, insn); }" [(set_attr "type" "branch")]) @@ -14009,7 +14005,10 @@ operands[2] = GEN_INT (INTVAL (operands[1]) >> 32); (return) (pc)))] "direct_return ()" - "{%C0bcr|%C0bclr} %t0,%j0" + "* +{ + return output_cbranch (operands[0], NULL, 0, insn); +}" [(set_attr "type" "branch") (set_attr "length" "8")]) @@ -14024,10 +14023,7 @@ operands[2] = GEN_INT (INTVAL (operands[1]) >> 32); "" "* { - if (get_attr_length (insn) == 8) - return \"%C1bc %T1,%j1,%l0\"; - else - return \"%C1bc %t1,%j1,%$+8\;b %l0\"; + return output_cbranch (operands[1], \"%l0\", 1, insn); }" [(set_attr "type" "branch")]) @@ -14040,7 +14036,10 @@ operands[2] = GEN_INT (INTVAL (operands[1]) >> 32); (pc) (return)))] "direct_return ()" - "{%C0bcr|%C0bclr} %T0,%j0" + "* +{ + return output_cbranch (operands[0], NULL, 1, insn); +}" [(set_attr "type" "branch") (set_attr "length" "8")]) |