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.

Reply via email to