4#if defined(_M_CEE_PURE) || (defined(_M_IX86) && !defined(_M_HYBRID_X86_ARM64)) \
5 || (defined(_M_X64) && !defined(_M_ARM64EC))
6#define _INTRIN_RELAXED(x) x
7#define _INTRIN_ACQUIRE(x) x
8#define _INTRIN_RELEASE(x) x
9#define _INTRIN_ACQ_REL(x) x
16#elif defined(_M_ARM64) || defined(_M_ARM64EC) || defined(_M_HYBRID_X86_ARM64)
17#define _INTRIN_RELAXED(x) VSF_MCONNECT(x, _nf)
18#define _INTRIN_ACQUIRE(x) VSF_MCONNECT(x, _acq)
19#define _INTRIN_RELEASE(x) VSF_MCONNECT(x, _rel)
22#define _INTRIN_ACQ_REL(x) x
26#error Unsupported hardware
29#define _MT_INCR(x) _INTRIN_RELAXED(_InterlockedIncrement)(reinterpret_cast<volatile long*>(&x))
30#define _MT_DECR(x) _INTRIN_ACQ_REL(_InterlockedDecrement)(reinterpret_cast<volatile long*>(&x))
unsigned long _Atomic_counter_t
Definition xatomic.h:33