Hi Kyrill,

On Thu, Nov 19, 2015 at 10:26:25AM +0000, Kyrill Tkachov wrote:
> In this PR we end up removing a widening multiplication. I suspect it's 
> some path in combine
> that doesn't handle the case where we return clobber of 0 properly.

That is troublesome.  Could you look deeper?

> This 
> started with my recent
> combine patch r230326.
> Changing the subst hunk from that patch to just return x when handling a 
> no-op substitution
> fixes the testcase for me and doesn't regress the widening-mult cases that 
> r230326 improved.
> In fact, with this patch I'm seeing improved codegen for aarch64 with some 
> widening multiplications
> combined with constant operands and ending up in bitfield move/insert 
> instructions.
> 
> Bootstrapped and tested on aarch64, arm, x86_64.
> 
> Ok for trunk?

I'll have a look what it does for code quality on other targets.


Segher

Reply via email to