/* PR rtl-optimization/27671. The combiner used to simplify "a ^ b == a" to "a" via simplify_relational_operation_1 in simplify-rtx.c. */ extern void abort (void) __attribute__ ((noreturn)); extern void exit (int) __attribute__ ((noreturn)); static int __attribute__((noinline)) foo (int a, int b) { int c = a ^ b; if (c == a) abort (); } int main (void) { foo (0, 1); exit (0); }