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