https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118638
--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #11) > Slightly more reduced > __attribute__((noipa)) int > foo (int x) > { > int a = x != -3, b, c; > a *= 3; > b = 2 * x - 9; > a = a + b; > a = ~a; > c = a & 1; > return -c; > } That is extremely obfuscated equivalent to just return x != -3 ? -1 : 0; and GCC 13 and earlier at -Os used to be able to figure that out during combine.