1 /* { dg-do compile { target { ! ia32 } } } */ 2 /* { dg-options "-mno-adx -O2" } */ 3 /* { dg-final { scan-assembler-times "adcq" 2 } } */ 4 /* { dg-final { scan-assembler-times "sbbq" 1 } } */ 5 6 #include <x86intrin.h> 7 8 volatile unsigned char c; 9 volatile unsigned long long x, y; 10 unsigned long long *sum; 11 12 void extern adx_test(void)13adx_test (void) 14 { 15 c = _addcarryx_u64 (c, x, y, sum); 16 c = _addcarry_u64 (c, x, y, sum); 17 c = _subborrow_u64 (c, x, y, sum); 18 } 19