On Thu, 2020-01-30 at 18:27 +0100, Jakub Jelinek wrote:
> On Thu, Jan 30, 2020 at 10:23:35AM -0700, Jeff Law wrote:
> > diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
> > index 8e35357ea23..78c4cbe4753 100644
> > --- a/gcc/config/m68k/m68k.md
> > +++ b/gcc/config/m68k/m68k.md
> > @@ -644,12 +644,12 @@
> > return m68k_output_branch_integer (code);
> > })
> >
> > -(define_insn "cbranchsi4_btst_reg_insn_1"
> > +(define_insn "cbranch<mode>4_btst_reg_insn_1"
> > [(set (pc)
> > (if_then_else (match_operator 0 "equality_comparison_operator"
> > - [(zero_extract:SI (match_operand:SI 1
> > "nonimmediate_operand" "do,dQ")
> > - (const_int 1)
> > - (match_operand:SI 2
> > "const_int_operand" "n,n"))
> > + [(zero_extract:I (match_operand:I 1
> > "nonimmediate_operand" "do,dQ")
> > + (const_int 1)
> > + (match_operand:I 2 "const_int_operand"
> > "n,n"))
> > (const_int 0)])
> > (label_ref (match_operand 3 ""))
> > (pc)))]
> > @@ -665,8 +665,9 @@
> > }
> > else
> > {
> > - operands[2] = GEN_INT (31 - INTVAL (operands[2]));
> > - code = m68k_output_btst (operands[2], operands[1], code, 31);
> > + operands[2] = GEN_INT (GET_MODE_BITSIZE (GET_MODE (operands[1]))
> > + - INTVAL (operands[2]) - 1);
> > + code = m68k_output_btst (operands[2], operands[1], code,
> > GET_MODE_BITSIZE (GET_MODE (operands[1])) - 1);
>
> s/GET_MODE (operands[1])/<MODE>mode/g ?
> Also, the last line is too long.
It's not meant for inclusion as-is, but to show how we might fix this
and allow us to move forward on 87763.
Jeff