https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100056
rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rsandifo at gcc dot gnu.org
--- Comment #13 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org>
---
The patch is no longer effective after
g:96146e61cd7aee62c21c2845916ec42152918ab7, since e.g.:
int
or_shift_u3a (unsigned i)
{
i &= 7;
return i | (i << 11);
}
now gets folded to:
i_2 = i_1(D) & 7;
_5 = i_2 * 2049;
We then expand the multiplication as plus+shift rather
than ior+shift.