1/* PR target/67317 */
2/* { dg-do compile { target { ! ia32 } } } */
3/* { dg-options "-O2" } */
4
5typedef unsigned long long u64;
6
7u64 testcarry_u64 (u64 a, u64 b, u64 c, u64 d)
8{
9  u64 result0, result1;
10
11  __builtin_ia32_addcarryx_u64
12    (__builtin_ia32_addcarryx_u64 (0, a, c, &result0), b, d, &result1);
13
14  return result0 ^ result1;
15}
16
17/* { dg-final { scan-assembler-not "addb" } } */
18/* { dg-final { scan-assembler-not "setn?c" } } */
19