11#error "Never use <adxintrin.h> directly; include <immintrin.h> instead."
18#if defined(__cplusplus) && (__cplusplus >= 201103L)
19#define __DEFAULT_FN_ATTRS \
20 __attribute__((__always_inline__, __nodebug__, __target__("adx"))) constexpr
22#define __DEFAULT_FN_ATTRS \
23 __attribute__((__always_inline__, __nodebug__, __target__("adx")))
27#if defined(__cplusplus)
28#define __INLINE __inline
30#define __INLINE static __inline
33#if defined(__cplusplus)
66 return __builtin_ia32_addcarryx_u32(__cf, __x,
__y,
__p);
94_addcarryx_u64(
unsigned char __cf,
unsigned long long __x,
95 unsigned long long __y,
unsigned long long *
__p) {
96 return __builtin_ia32_addcarryx_u64(__cf, __x,
__y,
__p);
100#if defined(__cplusplus)
105#undef __DEFAULT_FN_ATTRS
#define __DEFAULT_FN_ATTRS
__INLINE unsigned char __DEFAULT_FN_ATTRS _addcarryx_u32(unsigned char __cf, unsigned int __x, unsigned int __y, unsigned int *__p)
Adds unsigned 32-bit integers __x and __y, plus 0 or 1 as indicated by the carry flag __cf.
static __inline__ uint32_t volatile uint32_t * __p
static __inline__ uint32_t uint32_t __y