[RS6000] rs6000_rtx_costs cost IOR
Segher Boessenkool
segher@kernel.crashing.org
Thu Sep 17 00:02:06 GMT 2020
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
More information about the Gcc-patches
mailing list