https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114523
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- ``` int foo1 () { int quux = bar (); _Bool t = quux == 0; _Bool t1 = baz != 0; int t2 = t; t2 ^= t1; return t2; } ``` Produces the same resulting asm. The way clang produces comparisons is: ``` r2 = 1 if r3 != 0 goto LBB1_2 # %bb.1: r2 = 0 LBB1_2: ```