On Sat, Sep 20, 2014 at 2:23 PM, Segher Boessenkool
<seg...@kernel.crashing.org> wrote:
> The instruction patterns are now called subf, with the corresponding
> operand order, to be less confusing.  I tried using the "sub" extended
> mnemonics instead but that only made things way, way worse.
>
> Do not allow an integer as second operand of sub<mode>3; expand doesn't
> use it.  Only strlensi used it, fix that.
>
> For an integer first operand, now use a separate insn sub<mode>3_imm,
> which clobbers the carry (it is subfic after all).  ctz, ffz, plus_ltu,
> plus_gtu need changes for that (the latter two will be removed later).
>
>
> 2014-09-20  Segher Boessenkool  <seg...@kernel.crashing.org>
>
>         * config/rs6000/rs6000.md (strlensi): Don't use subsi3 with a
>         constant, use addsi3 directly.
>         (three anonymous define_insn, two define_split): Delete.
>         (sub<mode>3): Move.  Do not allow constant second operand.
>         Generate different insn for constant first operand.
>         (*subf<mode>3, *subf<mode>3_dot, *subf<mode>3_dot2): New.
>         (subf<mode>3_imm): New.
>         (ctz<mode>2, ffs<mode>2): Clobber CA_REGNO where required.
>         (*plus_ltu<mode>): Only handle registers.
>         (*plus_ltu<mode>_1): New.  Handle integer third operand.
>         (*plus_gtu<mode>): Only handle registers.
>         (*plus_gtu<mode>_1): New.  Handle integer third operand.

Okay.

Thanks, David

Reply via email to