Hi!

On Tue, Sep 15, 2020 at 10:49:44AM +0930, Alan Modra wrote:
>       * config/rs6000/rs6000.c (rs6000_rtx_costs): Cost IOR.

>      case IOR:
> -      /* FIXME */
>        *total = COSTS_N_INSNS (1);
> -      return true;

Hey this was okay for over five years :-)

> +      left = XEXP (x, 0);
> +      if (GET_CODE (left) == AND
> +       && CONST_INT_P (XEXP (left, 1)))

Add a comment that this is the integer insert insns?

> +           // rotlsi3_insert_5

But use /* comments */.

> +               /* Test both regs even though the one in the mask is
> +                  constrained to be equal to the output.  Increasing
> +                  cost may well result in rejecting an invalid insn
> +                  earlier.  */

Is that ever actually useful?

So this new block is pretty huge.  Can it easily be factored to a
separate function?  Just the insert insns part, not all IOR.

Okay for trunk with the comments changed to the correct syntax, and
factoring masked insert out to a separate function pre-approved if you
want to do that.  Thanks!


Segher

Reply via email to