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