https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91965
--- Comment #1 from Alexander Monakov <amonakov at gcc dot gnu.org> --- On a related thought, I wonder if we can canonicalize (x << CST) to (x * CST') where CST' is 1<<CST. This way we don't need to duplicate existing multiplication patterns if we want to apply them to left shift.