https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96998
--- Comment #5 from Alex Coplan <acoplan at gcc dot gnu.org> --- This just looks like a missing pattern which we've started noticing since the new canonicalisation was introduced. I imagine reinstating the *add_<optab><mode>_multp2 pattern and rewriting it to use shifts instead will fix the issue. I should have a patch to fix this tomorrow.