https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106884
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Richard Biener from comment #4) > But yes, since we now unconditionally compute 1<<b after the transform > GCC could assume b is in range. We are lacking a way to compute 1<<b > optimally without that undefined behavior. phiopt will almost definitely run into a similar thing though right now, it has not.