On Wed, 22 Nov 2017, Jakub Jelinek wrote:

> On Wed, Nov 22, 2017 at 10:41:19AM +0100, Richard Biener wrote:
> > How much churn would it be to pass down a mode alongside the operands
> > in expand_binop?  Can't find it right now but didn't we introduce
> > some rtx_with_mode pair-like stuff somewhen?
> 
> We have rtx_mode_t for that.  But there are 240+ calls to expand_binop,
> and even if we add an overload that will transform it, unless we forcefully
> inline it wouldn't that slow down all the spots a little bit?
> The thing is, for the vast majority of binary ops we don't need the operand
> modes, it is mainly comparisons, second arg of shifts/rotates and this
> widening case.

Ok, so maybe split expand_binop then to the class of cases where we do
need the mode and a class where we don't then?

We don't have to use rtx_mode_t we can just pass two arguments.  Not
sure what is more convenient to use.

Anyway, this doesn't have to happen in stage3, just as a general
note on how I believe we changed things in other places.  Richard S.
may remember more here.

Richard.

Reply via email to