https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104444
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Severity|normal |enhancement Status|UNCONFIRMED |NEW Last reconfirmed| |2022-02-08 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed: int g(unsigned n) { return ((0xffffff) >> n) != 0; } So the general case is: (simplify (neeq (lshift INTEGER_CST@0 @1) zero_p) (ltge (@1 {bitsizeoftype(@1) - wi::clz(@0);}))