https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107043
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2022-09-26 Ever confirmed|0 |1 Severity|normal |enhancement --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. The following two should be optimized too: int g0(int n) { int n1 = n & 0x8000; if (n1 == 0) return 1; // n1 will be 0x8000 here. return (n1 >> 15) & 0x1; } int g1(int n) { int n1 = n & 0x8000; if (n1 == 0) return 1; // n>>15 will be xxxxxx1 here. return (n >> 15) & 0x1; }