/* PR target/96176 */ /* { dg-do compile { target lp64 } } */ /* { dg-options "-Os" } */ /* { dg-final { scan-assembler-not "\tcmpb\t" } } */ _Bool foo (short *x, short z) { short y = 0; __atomic_compare_exchange_n (x, &y, z, 0, __ATOMIC_RELAXED, __ATOMIC_RELAXED); return y == 0; } /* { dg-final { scan-assembler-not "\ttestw\t" } } */ _Bool bar (short *x, short z) { short y = -1; __atomic_compare_exchange_n (x, &y, z, 0, __ATOMIC_RELAXED, __ATOMIC_RELAXED); return y == -1; } /* { dg-final { scan-assembler-not "\tincw\t" } } */