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.
