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

Reply via email to