/* PR target/67317 */ /* { dg-do compile { target { ! ia32 } } } */ /* { dg-options "-O2" } */ typedef unsigned long long u64; u64 testcarry_u64 (u64 a, u64 b, u64 c, u64 d) { u64 result0, result1; __builtin_ia32_addcarryx_u64 (__builtin_ia32_addcarryx_u64 (0, a, c, &result0), b, d, &result1); return result0 ^ result1; } /* { dg-final { scan-assembler-not "addb" } } */ /* { dg-final { scan-assembler-not "setn?c" } } */