https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123002
Sam James <sjames at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |sjames at gcc dot gnu.org
--- Comment #7 from Sam James <sjames at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #3)
> Note I cannot reproduce the issue on trunk where we no longer recognize a
> widen_mult pattern, but the principle issue is still there IMO. I wonder
> what fixed it on trunk.
>
I started bisecting and then realised it was obvious (and confirmed to be
sure): r16-5887-g27d9cefeebc255.
i.e. foo gets compiled down to just:
0000000000000510 <foo>:
}
510: 31 c0 xor %eax,%eax
512: c3 ret
foo is noipa'd but that's not enough here.