LLVM OpenMP 22.0.0git
kmp_atomic.cpp File Reference
#include "kmp_atomic.h"
#include "kmp.h"

Go to the source code of this file.

Macros

#define ATOMIC_XCHG_WR(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG)
#define ATOMIC_XCHG_FLOAT_WR(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG)
#define OP_CMPXCHG_WR(TYPE, BITS, OP)
#define ATOMIC_CMPXCHG_WR(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG)
#define ATOMIC_CRITICAL_WR(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG)

Typedefs

typedef unsigned char uchar
typedef unsigned short ushort
#define KMP_ATOMIC_VOLATILE   volatile
#define KMP_CHECK_GTID
#define ATOMIC_BEGIN(TYPE_ID, OP_ID, TYPE, RET_TYPE)
#define ATOMIC_LOCK0   __kmp_atomic_lock
#define ATOMIC_LOCK1i   __kmp_atomic_lock_1i
#define ATOMIC_LOCK2i   __kmp_atomic_lock_2i
#define ATOMIC_LOCK4i   __kmp_atomic_lock_4i
#define ATOMIC_LOCK4r   __kmp_atomic_lock_4r
#define ATOMIC_LOCK8i   __kmp_atomic_lock_8i
#define ATOMIC_LOCK8r   __kmp_atomic_lock_8r
#define ATOMIC_LOCK8c   __kmp_atomic_lock_8c
#define ATOMIC_LOCK10r   __kmp_atomic_lock_10r
#define ATOMIC_LOCK16r   __kmp_atomic_lock_16r
#define ATOMIC_LOCK16c   __kmp_atomic_lock_16c
#define ATOMIC_LOCK20c   __kmp_atomic_lock_20c
#define ATOMIC_LOCK32c   __kmp_atomic_lock_32c
#define OP_CRITICAL(OP, LCK_ID)
#define OP_UPDATE_CRITICAL(TYPE, OP, LCK_ID)
#define OP_GOMP_CRITICAL(OP, FLAG)
#define OP_UPDATE_GOMP_CRITICAL(TYPE, OP, FLAG)
#define KMP_DO_PAUSE
#define OP_CMPXCHG(TYPE, BITS, OP)
#define ATOMIC_FIXED_ADD(TYPE_ID, OP_ID, TYPE, BITS, OP, LCK_ID, MASK, GOMP_FLAG)
#define ATOMIC_CMPXCHG(TYPE_ID, OP_ID, TYPE, BITS, OP, LCK_ID, MASK, GOMP_FLAG)
#define ATOMIC_CRIT_L(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG)
#define ATOMIC_CMPX_L(TYPE_ID, OP_ID, TYPE, BITS, OP, LCK_ID, MASK, GOMP_FLAG)
#define MIN_MAX_CRITSECT(OP, LCK_ID)
#define GOMP_MIN_MAX_CRITSECT(OP, FLAG)
#define MIN_MAX_CMPXCHG(TYPE, BITS, OP)
#define MIN_MAX_CRITICAL(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG)
#define MIN_MAX_COMPXCHG(TYPE_ID, OP_ID, TYPE, BITS, OP, LCK_ID, MASK, GOMP_FLAG)
#define ATOMIC_CRIT_EQV(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG)
#define ATOMIC_CMPX_EQV(TYPE_ID, OP_ID, TYPE, BITS, OP, LCK_ID, MASK, GOMP_FLAG)
#define ATOMIC_CRITICAL(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG)
#define ATOMIC_BEGIN_MIX(TYPE_ID, TYPE, OP_ID, RTYPE_ID, RTYPE)
#define ATOMIC_CRITICAL_FP(TYPE_ID, TYPE, OP_ID, OP, RTYPE_ID, RTYPE, LCK_ID, GOMP_FLAG)
#define ATOMIC_CMPXCHG_MIX(TYPE_ID, TYPE, OP_ID, BITS, OP, RTYPE_ID, RTYPE, LCK_ID, MASK, GOMP_FLAG)
#define ATOMIC_CMPXCHG_CMPLX(TYPE_ID, TYPE, OP_ID, BITS, OP, RTYPE_ID, RTYPE, LCK_ID, MASK, GOMP_FLAG)
#define ATOMIC_BEGIN_READ(TYPE_ID, OP_ID, TYPE, RET_TYPE)
#define OP_CMPXCHG_READ(TYPE, BITS, OP)
#define OP_CRITICAL_READ(OP, LCK_ID)
#define OP_GOMP_CRITICAL_READ(OP, FLAG)
#define ATOMIC_FIXED_READ(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG)
#define ATOMIC_CMPXCHG_READ(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG)
#define ATOMIC_CRITICAL_READ(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG)
#define ATOMIC_BEGIN_CPT(TYPE_ID, OP_ID, TYPE, RET_TYPE)
#define OP_CRITICAL_CPT(OP, LCK_ID)
#define OP_UPDATE_CRITICAL_CPT(TYPE, OP, LCK_ID)
#define OP_GOMP_CRITICAL_CPT(TYPE, OP, FLAG)
#define OP_CMPXCHG_CPT(TYPE, BITS, OP)
#define ATOMIC_CMPXCHG_CPT(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG)
#define ATOMIC_FIXED_ADD_CPT(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG)
#define OP_CRITICAL_L_CPT(OP, LCK_ID)
#define OP_GOMP_CRITICAL_L_CPT(OP, FLAG)
#define ATOMIC_CMPX_L_CPT(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG)
#define MIN_MAX_CRITSECT_CPT(OP, LCK_ID)
#define GOMP_MIN_MAX_CRITSECT_CPT(OP, FLAG)
#define MIN_MAX_CMPXCHG_CPT(TYPE, BITS, OP)
#define MIN_MAX_CRITICAL_CPT(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG)
#define MIN_MAX_COMPXCHG_CPT(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG)
#define OP_GOMP_CRITICAL_EQV_CPT(OP, FLAG)
#define ATOMIC_CMPX_EQV_CPT(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG)
#define ATOMIC_CRITICAL_CPT(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG)
#define OP_CRITICAL_CPT_WRK(OP, LCK_ID)
#define OP_GOMP_CRITICAL_CPT_WRK(OP, FLAG)
#define ATOMIC_BEGIN_WRK(TYPE_ID, OP_ID, TYPE)
#define ATOMIC_CRITICAL_CPT_WRK(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG)
int __kmp_atomic_mode = 1
kmp_atomic_lock_t __kmp_atomic_lock
kmp_atomic_lock_t __kmp_atomic_lock_1i
kmp_atomic_lock_t __kmp_atomic_lock_2i
kmp_atomic_lock_t __kmp_atomic_lock_4i
kmp_atomic_lock_t __kmp_atomic_lock_4r
kmp_atomic_lock_t __kmp_atomic_lock_8i
kmp_atomic_lock_t __kmp_atomic_lock_8r
kmp_atomic_lock_t __kmp_atomic_lock_8c
kmp_atomic_lock_t __kmp_atomic_lock_10r
kmp_atomic_lock_t __kmp_atomic_lock_16r
kmp_atomic_lock_t __kmp_atomic_lock_16c
kmp_atomic_lock_t __kmp_atomic_lock_20c
kmp_atomic_lock_t __kmp_atomic_lock_32c
 sub
 kmp_int32
 kmp_real32
KMP_ARCH_X86 kmp_int64
KMP_ARCH_X86 KMP_ARCH_X86 kmp_real64
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 andb
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 kmp_int8
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 div
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 kmp_uint8
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 orb
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 shr
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 add
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 kmp_int16
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 mul
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 shl
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, 2i, 1, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed2, shr, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 kmp_uint32
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, 2i, 1, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed2, shr, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 xor
 orl
 char
KMP_ARCH_X86 short
 min
 neqv
KMP_ARCH_X86 KMP_ARCH_X86 eqv
 float8
 kmp_cmplx32
 cmplx8
 kmp_cmplx64
 rd
KMP_ARCH_X86 KMP_ARCH_X86 long double
KMP_ARCH_X86 KMP_ARCH_X86 long wr
KMP_ARCH_X86 KMP_ARCH_X86 long KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 long kmp_cmplx80
 sub_cpt
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 andb_cpt
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 div_cpt
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 orb_cpt
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 shr_cpt
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 add_cpt
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 mul_cpt
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 shl_cpt
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed2, shr_cpt, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 xor_cpt
 orl_cpt
 min_cpt
 neqv_cpt
KMP_ARCH_X86 KMP_ARCH_X86 eqv_cpt
 ATOMIC_FIXED_ADD (fixed4, add, kmp_int32, 32,+, 4i, 3, 0) ATOMIC_FIXED_ADD(fixed4
 ATOMIC_CMPXCHG (float4, add, kmp_real32, 32,+, 4r, 3, KMP_ARCH_X86) ATOMIC_CMPXCHG(float4
KMP_ARCH_X86 ATOMIC_FIXED_ADD (fixed8, add, kmp_int64, 64,+, 8i, 7, KMP_ARCH_X86) ATOMIC_FIXED_ADD(fixed8
KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (float8, add, kmp_real64, 64,+, 8r, 7, KMP_ARCH_X86) ATOMIC_CMPXCHG(float8
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed1, add, kmp_int8, 8,+, 1i, 0, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed1
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed1, div, kmp_int8, 8,/, 1i, 0, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed1u
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed1, mul, kmp_int8, 8, *, 1i, 0, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed1
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed1, shl, kmp_int8, 8,<<, 1i, 0, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed1
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed1u, shr, kmp_uint8, 8, > >, 1i, 0, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed1
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed1, xor, kmp_int8, 8, ^, 1i, 0, 0) ATOMIC_CMPXCHG(fixed2
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed2, andb, kmp_int16, 16, &, 2i, 1, 0) ATOMIC_CMPXCHG(fixed2
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed2u, div, kmp_uint16, 16,/, 2i, 1, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed2
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed2, orb, kmp_int16, 16,|, 2i, 1, 0) ATOMIC_CMPXCHG(fixed2
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, 2i, 1, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed2, shr, kmp_int16, 16, > KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed2u, shr, kmp_uint16, 16, > >, 2i, 1, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed2
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, 2i, 1, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed2, shr, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed2, xor, kmp_int16, 16, ^, 2i, 1, 0) ATOMIC_CMPXCHG(fixed4
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, 2i, 1, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed2, shr, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed4, div, kmp_int32, 32,/, 4i, 3, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed4u
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, 2i, 1, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed2, shr, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed4, mul, kmp_int32, 32, *, 4i, 3, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed4
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, 2i, 1, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed2, shr, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed4, shl, kmp_int32, 32,<<, 4i, 3, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed4
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, 2i, 1, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed2, shr, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed4u, shr, kmp_uint32, 32, > >, 4i, 3, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed4
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, 2i, 1, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed2, shr, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed8, andb, kmp_int64, 64, &, 8i, 7, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed8
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, 2i, 1, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed2, shr, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed8u, div, kmp_uint64, 64,/, 8i, 7, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed8
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, 2i, 1, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed2, shr, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed8, orb, kmp_int64, 64,|, 8i, 7, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed8
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, 2i, 1, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed2, shr, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, 8i, 7, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed8, shr, kmp_int64, 64, > KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed8u, shr, kmp_uint64, 64, > >, 8i, 7, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed8
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, 2i, 1, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed2, shr, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, 8i, 7, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed8, shr, kmp_int64, 64, > KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (float4, div, kmp_real32, 32,/, 4r, 3, KMP_ARCH_X86) ATOMIC_CMPXCHG(float4
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, 2i, 1, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed2, shr, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, 8i, 7, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed8, shr, kmp_int64, 64, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG (float8, div, kmp_real64, 64,/, 8r, 7, KMP_ARCH_X86) ATOMIC_CMPXCHG(float8
 ATOMIC_CMPX_L (fixed1, andl, char, 8, &&, 1i, 0, KMP_ARCH_X86) ATOMIC_CMPX_L(fixed1
KMP_ARCH_X86 ATOMIC_CMPX_L (fixed2, andl, short, 16, &&, 2i, 1, KMP_ARCH_X86) ATOMIC_CMPX_L(fixed2
KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPX_L (fixed4, andl, kmp_int32, 32, &&, 4i, 3, 0) ATOMIC_CMPX_L(fixed4
KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPX_L (fixed8, andl, kmp_int64, 64, &&, 8i, 7, KMP_ARCH_X86) ATOMIC_CMPX_L(fixed8
 MIN_MAX_COMPXCHG (fixed1, max, char, 8,<, 1i, 0, KMP_ARCH_X86) MIN_MAX_COMPXCHG(fixed1
KMP_ARCH_X86 MIN_MAX_COMPXCHG (fixed2, max, short, 16,<, 2i, 1, KMP_ARCH_X86) MIN_MAX_COMPXCHG(fixed2
KMP_ARCH_X86 KMP_ARCH_X86 MIN_MAX_COMPXCHG (fixed4, max, kmp_int32, 32,<, 4i, 3, 0) MIN_MAX_COMPXCHG(fixed4
KMP_ARCH_X86 KMP_ARCH_X86 MIN_MAX_COMPXCHG (fixed8, max, kmp_int64, 64,<, 8i, 7, KMP_ARCH_X86) MIN_MAX_COMPXCHG(fixed8
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 MIN_MAX_COMPXCHG (float4, max, kmp_real32, 32,<, 4r, 3, KMP_ARCH_X86) MIN_MAX_COMPXCHG(float4
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 MIN_MAX_COMPXCHG (float8, max, kmp_real64, 64,<, 8r, 7, KMP_ARCH_X86) MIN_MAX_COMPXCHG(float8
 ATOMIC_CMPXCHG (fixed1, neqv, kmp_int8, 8, ^, 1i, 0, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed2
KMP_ARCH_X86 ATOMIC_CMPXCHG (fixed4, neqv, kmp_int32, 32, ^, 4i, 3, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed8
KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPX_EQV (fixed1, eqv, kmp_int8, 8, ^~, 1i, 0, KMP_ARCH_X86) ATOMIC_CMPX_EQV(fixed2
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPX_EQV (fixed4, eqv, kmp_int32, 32, ^~, 4i, 3, KMP_ARCH_X86) ATOMIC_CMPX_EQV(fixed8
 ATOMIC_CMPXCHG_MIX (fixed1, char, mul, 8, *, float8, kmp_real64, 1i, 0, KMP_ARCH_X86) ATOMIC_CMPXCHG_MIX(fixed1
KMP_ARCH_X86 ATOMIC_CMPXCHG_MIX (fixed2, short, mul, 16, *, float8, kmp_real64, 2i, 1, KMP_ARCH_X86) ATOMIC_CMPXCHG_MIX(fixed2
KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_MIX (fixed4, kmp_int32, mul, 32, *, float8, kmp_real64, 4i, 3, 0) ATOMIC_CMPXCHG_MIX(fixed4
KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_MIX (fixed8, kmp_int64, mul, 64, *, float8, kmp_real64, 8i, 7, KMP_ARCH_X86) ATOMIC_CMPXCHG_MIX(fixed8
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_MIX (float4, kmp_real32, add, 32,+, float8, kmp_real64, 4r, 3, KMP_ARCH_X86) ATOMIC_CMPXCHG_MIX(float4
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_MIX (float4, kmp_real32, mul, 32, *, float8, kmp_real64, 4r, 3, KMP_ARCH_X86) ATOMIC_CMPXCHG_MIX(float4
 ATOMIC_CMPXCHG_CMPLX (cmplx4, kmp_cmplx32, add, 64,+, cmplx8, kmp_cmplx64, 8c, 7, KMP_ARCH_X86) ATOMIC_CMPXCHG_CMPLX(cmplx4
KMP_ARCH_X86 ATOMIC_CMPXCHG_CMPLX (cmplx4, kmp_cmplx32, mul, 64, *, cmplx8, kmp_cmplx64, 8c, 7, KMP_ARCH_X86) ATOMIC_CMPXCHG_CMPLX(cmplx4
 ATOMIC_FIXED_READ (fixed8, rd, kmp_int64, 64,+, KMP_ARCH_X86) ATOMIC_CMPXCHG_READ(float4
KMP_ARCH_X86 ATOMIC_CMPXCHG_READ (float8, rd, kmp_real64, 64,+, KMP_ARCH_X86) ATOMIC_CMPXCHG_READ(fixed1
KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_READ (fixed2, rd, kmp_int16, 16,+, KMP_ARCH_X86) ATOMIC_CRITICAL_READ(float10
KMP_ARCH_X86 KMP_ARCH_X86 long ATOMIC_CRITICAL_READ (cmplx4, rd, kmp_cmplx32,+, 8c, 1) ATOMIC_CRITICAL_READ(cmplx8
KMP_ARCH_X86 KMP_ARCH_X86 long ATOMIC_CRITICAL_READ (cmplx10, rd, kmp_cmplx80,+, 20c, 1) ATOMIC_XCHG_WR(fixed1
KMP_ARCH_X86 KMP_ARCH_X86 long KMP_ARCH_X86 ATOMIC_XCHG_WR (fixed2, wr, kmp_int16, 16,=, KMP_ARCH_X86) ATOMIC_XCHG_WR(fixed4
KMP_ARCH_X86 KMP_ARCH_X86 long KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_XCHG_WR (fixed8, wr, kmp_int64, 64,=, KMP_ARCH_X86) ATOMIC_XCHG_FLOAT_WR(float4
KMP_ARCH_X86 KMP_ARCH_X86 long KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_XCHG_FLOAT_WR (float8, wr, kmp_real64, 64,=, KMP_ARCH_X86) ATOMIC_CRITICAL_WR(float10
KMP_ARCH_X86 KMP_ARCH_X86 long KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 long ATOMIC_CRITICAL_WR (cmplx8, wr, kmp_cmplx64,=, 16c, 1) ATOMIC_CRITICAL_WR(cmplx10
 ATOMIC_FIXED_ADD_CPT (fixed4, add_cpt, kmp_int32, 32,+, 0) ATOMIC_FIXED_ADD_CPT(fixed4
 ATOMIC_FIXED_ADD_CPT (fixed8, add_cpt, kmp_int64, 64,+, KMP_ARCH_X86) ATOMIC_FIXED_ADD_CPT(fixed8
KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (float4, add_cpt, kmp_real32, 32,+, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(float4
KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (float8, add_cpt, kmp_real64, 64,+, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(float8
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed1, add_cpt, kmp_int8, 8,+, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed1
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed1, div_cpt, kmp_int8, 8,/, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed1u
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed1, mul_cpt, kmp_int8, 8, *, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed1
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed1, shl_cpt, kmp_int8, 8,<<, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed1
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed1u, shr_cpt, kmp_uint8, 8, > >, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed1
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed1, xor_cpt, kmp_int8, 8, ^, 0) ATOMIC_CMPXCHG_CPT(fixed2
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed2, andb_cpt, kmp_int16, 16, &, 0) ATOMIC_CMPXCHG_CPT(fixed2
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed2u, div_cpt, kmp_uint16, 16,/, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed2
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed2, orb_cpt, kmp_int16, 16,|, 0) ATOMIC_CMPXCHG_CPT(fixed2
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed2, shr_cpt, kmp_int16, 16, > KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed2u, shr_cpt, kmp_uint16, 16, > >, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed2
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed2, shr_cpt, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed2, xor_cpt, kmp_int16, 16, ^, 0) ATOMIC_CMPXCHG_CPT(fixed4
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed2, shr_cpt, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed4, div_cpt, kmp_int32, 32,/, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed4u
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed2, shr_cpt, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed4, mul_cpt, kmp_int32, 32, *, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed4
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed2, shr_cpt, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed4, shl_cpt, kmp_int32, 32,<<, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed4
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed2, shr_cpt, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed4u, shr_cpt, kmp_uint32, 32, > >, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed4
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed2, shr_cpt, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed8, andb_cpt, kmp_int64, 64, &, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed8
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed2, shr_cpt, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed8u, div_cpt, kmp_uint64, 64,/, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed8
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed2, shr_cpt, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed8, orb_cpt, kmp_int64, 64,|, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed8
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed2, shr_cpt, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed8, shr_cpt, kmp_int64, 64, > KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed8u, shr_cpt, kmp_uint64, 64, > >, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed8
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed2, shr_cpt, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed8, shr_cpt, kmp_int64, 64, > KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (float4, div_cpt, kmp_real32, 32,/, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(float4
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed2, shr_cpt, kmp_int16, 16, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed8, shr_cpt, kmp_int64, 64, > KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (float8, div_cpt, kmp_real64, 64,/, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(float8
 ATOMIC_CMPX_L_CPT (fixed1, andl_cpt, char, 8, &&, KMP_ARCH_X86) ATOMIC_CMPX_L_CPT(fixed1
KMP_ARCH_X86 ATOMIC_CMPX_L_CPT (fixed2, andl_cpt, short, 16, &&, KMP_ARCH_X86) ATOMIC_CMPX_L_CPT(fixed2
KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPX_L_CPT (fixed4, andl_cpt, kmp_int32, 32, &&, 0) ATOMIC_CMPX_L_CPT(fixed4
KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPX_L_CPT (fixed8, andl_cpt, kmp_int64, 64, &&, KMP_ARCH_X86) ATOMIC_CMPX_L_CPT(fixed8
 MIN_MAX_COMPXCHG_CPT (fixed1, max_cpt, char, 8,<, KMP_ARCH_X86) MIN_MAX_COMPXCHG_CPT(fixed1
KMP_ARCH_X86 MIN_MAX_COMPXCHG_CPT (fixed2, max_cpt, short, 16,<, KMP_ARCH_X86) MIN_MAX_COMPXCHG_CPT(fixed2
KMP_ARCH_X86 KMP_ARCH_X86 MIN_MAX_COMPXCHG_CPT (fixed4, max_cpt, kmp_int32, 32,<, 0) MIN_MAX_COMPXCHG_CPT(fixed4
KMP_ARCH_X86 KMP_ARCH_X86 MIN_MAX_COMPXCHG_CPT (fixed8, max_cpt, kmp_int64, 64,<, KMP_ARCH_X86) MIN_MAX_COMPXCHG_CPT(fixed8
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 MIN_MAX_COMPXCHG_CPT (float4, max_cpt, kmp_real32, 32,<, KMP_ARCH_X86) MIN_MAX_COMPXCHG_CPT(float4
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 MIN_MAX_COMPXCHG_CPT (float8, max_cpt, kmp_real64, 64,<, KMP_ARCH_X86) MIN_MAX_COMPXCHG_CPT(float8
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 MIN_MAX_CRITICAL_CPT (float10, max_cpt, long double,<, 10r, 1) MIN_MAX_CRITICAL_CPT(float10
 ATOMIC_CMPXCHG_CPT (fixed1, neqv_cpt, kmp_int8, 8, ^, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed2
KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT (fixed4, neqv_cpt, kmp_int32, 32, ^, KMP_ARCH_X86) ATOMIC_CMPXCHG_CPT(fixed8
KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPX_EQV_CPT (fixed1, eqv_cpt, kmp_int8, 8, ^~, KMP_ARCH_X86) ATOMIC_CMPX_EQV_CPT(fixed2
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPX_EQV_CPT (fixed4, eqv_cpt, kmp_int32, 32, ^~, KMP_ARCH_X86) ATOMIC_CMPX_EQV_CPT(fixed8
 ATOMIC_CRITICAL_CPT (float10, add_cpt, long double,+, 10r, 1) ATOMIC_CRITICAL_CPT(float10
long ATOMIC_CRITICAL_CPT (float10, mul_cpt, long double, *, 10r, 1) ATOMIC_CRITICAL_CPT(float10
long long ATOMIC_CRITICAL_CPT_WRK (cmplx4, add_cpt, kmp_cmplx32,+, 8c, 1) ATOMIC_CRITICAL_CPT_WRK(cmplx4
long long ATOMIC_CRITICAL_CPT_WRK (cmplx4, mul_cpt, kmp_cmplx32, *, 8c, 1) ATOMIC_CRITICAL_CPT_WRK(cmplx4
long long ATOMIC_CRITICAL_CPT (cmplx8, add_cpt, kmp_cmplx64,+, 16c, 1) ATOMIC_CRITICAL_CPT(cmplx8
long long ATOMIC_CRITICAL_CPT (cmplx8, mul_cpt, kmp_cmplx64, *, 16c, 1) ATOMIC_CRITICAL_CPT(cmplx8
long long ATOMIC_CRITICAL_CPT (cmplx10, add_cpt, kmp_cmplx80,+, 20c, 1) ATOMIC_CRITICAL_CPT(cmplx10
long long ATOMIC_CRITICAL_CPT (cmplx10, mul_cpt, kmp_cmplx80, *, 20c, 1) ATOMIC_CRITICAL_CPT(cmplx10
long long void __kmpc_atomic_1 (ident_t *id_ref, int gtid, void *lhs, void *rhs, void(*f)(void *, void *, void *))
void __kmpc_atomic_2 (ident_t *id_ref, int gtid, void *lhs, void *rhs, void(*f)(void *, void *, void *))
void __kmpc_atomic_4 (ident_t *id_ref, int gtid, void *lhs, void *rhs, void(*f)(void *, void *, void *))
void __kmpc_atomic_8 (ident_t *id_ref, int gtid, void *lhs, void *rhs, void(*f)(void *, void *, void *))
void __kmpc_atomic_16 (ident_t *id_ref, int gtid, void *lhs, void *rhs, void(*f)(void *, void *, void *))
void __kmpc_atomic_32 (ident_t *id_ref, int gtid, void *lhs, void *rhs, void(*f)(void *, void *, void *))
void __kmpc_atomic_start (void)
void __kmpc_atomic_end (void)

Macro Definition Documentation

◆ ATOMIC_BEGIN

#define ATOMIC_BEGIN ( TYPE_ID,
OP_ID,
TYPE,
RET_TYPE )
Value:
RET_TYPE __kmpc_atomic_##TYPE_ID##_##OP_ID(ident_t *id_ref, int gtid, \
TYPE *lhs, TYPE rhs) { \
KMP_DEBUG_ASSERT(__kmp_init_serial); \
KA_TRACE(100, ("__kmpc_atomic_" #TYPE_ID "_" #OP_ID ": T#%d\n", gtid));
volatile int __kmp_init_serial
#define TYPE

Definition at line 698 of file kmp_atomic.cpp.

◆ ATOMIC_BEGIN_CPT

#define ATOMIC_BEGIN_CPT ( TYPE_ID,
OP_ID,
TYPE,
RET_TYPE )
Value:
RET_TYPE __kmpc_atomic_##TYPE_ID##_##OP_ID(ident_t *id_ref, int gtid, \
TYPE *lhs, TYPE rhs, int flag) { \
KMP_DEBUG_ASSERT(__kmp_init_serial); \
KA_TRACE(100, ("__kmpc_atomic_" #TYPE_ID "_" #OP_ID ": T#%d\n", gtid));
volatile int flag

Definition at line 2211 of file kmp_atomic.cpp.

◆ ATOMIC_BEGIN_MIX

#define ATOMIC_BEGIN_MIX ( TYPE_ID,
TYPE,
OP_ID,
RTYPE_ID,
RTYPE )
Value:
void __kmpc_atomic_##TYPE_ID##_##OP_ID##_##RTYPE_ID( \
ident_t *id_ref, int gtid, TYPE *lhs, RTYPE rhs) { \
KMP_DEBUG_ASSERT(__kmp_init_serial); \
KA_TRACE(100, \
("__kmpc_atomic_" #TYPE_ID "_" #OP_ID "_" #RTYPE_ID ": T#%d\n", \
gtid));

Definition at line 1630 of file kmp_atomic.cpp.

◆ ATOMIC_BEGIN_READ

#define ATOMIC_BEGIN_READ ( TYPE_ID,
OP_ID,
TYPE,
RET_TYPE )
Value:
RET_TYPE __kmpc_atomic_##TYPE_ID##_##OP_ID(ident_t *id_ref, int gtid, \
TYPE *loc) { \
KMP_DEBUG_ASSERT(__kmp_init_serial); \
KA_TRACE(100, ("__kmpc_atomic_" #TYPE_ID "_" #OP_ID ": T#%d\n", gtid));
static id loc

Definition at line 1928 of file kmp_atomic.cpp.

◆ ATOMIC_BEGIN_WRK

#define ATOMIC_BEGIN_WRK ( TYPE_ID,
OP_ID,
TYPE )
Value:
void __kmpc_atomic_##TYPE_ID##_##OP_ID(ident_t *id_ref, int gtid, TYPE *lhs, \
TYPE rhs, TYPE *out, int flag) { \
KMP_DEBUG_ASSERT(__kmp_init_serial); \
KA_TRACE(100, ("__kmpc_atomic_" #TYPE_ID "_" #OP_ID ": T#%d\n", gtid));

Definition at line 2828 of file kmp_atomic.cpp.

◆ ATOMIC_CMPX_EQV

#define ATOMIC_CMPX_EQV ( TYPE_ID,
OP_ID,
TYPE,
BITS,
OP,
LCK_ID,
MASK,
GOMP_FLAG )
Value:
ATOMIC_BEGIN(TYPE_ID, OP_ID, TYPE, void) \
OP_GOMP_CRITICAL(^= (TYPE) ~, GOMP_FLAG) \
if (!((kmp_uintptr_t)lhs & 0x##MASK)) { \
OP_CMPXCHG(TYPE, BITS, OP) /* aligned address */ \
} else { \
OP_CRITICAL(^= (TYPE) ~, LCK_ID) /* unaligned address - use critical */ \
} \
}
#define ATOMIC_BEGIN(TYPE_ID, OP_ID, TYPE, RET_TYPE)
#define KMP_CHECK_GTID
unsigned long kmp_uintptr_t
Definition kmp_os.h:205

Definition at line 1279 of file kmp_atomic.cpp.

Referenced by ATOMIC_CMPX_EQV(), and ATOMIC_CMPX_EQV().

◆ ATOMIC_CMPX_EQV_CPT

#define ATOMIC_CMPX_EQV_CPT ( TYPE_ID,
OP_ID,
TYPE,
BITS,
OP,
GOMP_FLAG )
Value:
ATOMIC_BEGIN_CPT(TYPE_ID, OP_ID, TYPE, TYPE) \
TYPE new_value; \
(void)new_value; \
OP_GOMP_CRITICAL_EQV_CPT(^= (TYPE) ~, GOMP_FLAG) /* send assignment */ \
OP_CMPXCHG_CPT(TYPE, BITS, OP) \
}
void
Definition ittnotify.h:3324
#define ATOMIC_BEGIN_CPT(TYPE_ID, OP_ID, TYPE, RET_TYPE)

Definition at line 2759 of file kmp_atomic.cpp.

Referenced by ATOMIC_CMPX_EQV_CPT(), and ATOMIC_CMPX_EQV_CPT().

◆ ATOMIC_CMPX_L

#define ATOMIC_CMPX_L ( TYPE_ID,
OP_ID,
TYPE,
BITS,
OP,
LCK_ID,
MASK,
GOMP_FLAG )
Value:
ATOMIC_BEGIN(TYPE_ID, OP_ID, TYPE, void) \
OP_GOMP_CRITICAL(= *lhs OP, GOMP_FLAG) \
if (!((kmp_uintptr_t)lhs & 0x##MASK)) { \
OP_CMPXCHG(TYPE, BITS, OP) /* aligned address */ \
} else { \
OP_CRITICAL(= *lhs OP, LCK_ID) /* unaligned - use critical */ \
} \
}

Definition at line 1098 of file kmp_atomic.cpp.

Referenced by ATOMIC_CMPX_L(), ATOMIC_CMPX_L(), and ATOMIC_CMPX_L().

◆ ATOMIC_CMPX_L_CPT

#define ATOMIC_CMPX_L_CPT ( TYPE_ID,
OP_ID,
TYPE,
BITS,
OP,
GOMP_FLAG )
Value:
ATOMIC_BEGIN_CPT(TYPE_ID, OP_ID, TYPE, TYPE) \
TYPE new_value; \
(void)new_value; \
OP_GOMP_CRITICAL_L_CPT(= *lhs OP, GOMP_FLAG) \
OP_CMPXCHG_CPT(TYPE, BITS, OP) \
}

Definition at line 2602 of file kmp_atomic.cpp.

Referenced by ATOMIC_CMPX_L_CPT(), ATOMIC_CMPX_L_CPT(), and ATOMIC_CMPX_L_CPT().

◆ ATOMIC_CMPXCHG

#define ATOMIC_CMPXCHG ( TYPE_ID,
OP_ID,
TYPE,
BITS,
OP,
LCK_ID,
MASK,
GOMP_FLAG )
Value:
ATOMIC_BEGIN(TYPE_ID, OP_ID, TYPE, void) \
OP_UPDATE_GOMP_CRITICAL(TYPE, OP, GOMP_FLAG) \
if (!((kmp_uintptr_t)lhs & 0x##MASK)) { \
OP_CMPXCHG(TYPE, BITS, OP) /* aligned address */ \
} else { \
OP_UPDATE_CRITICAL(TYPE, OP, \
LCK_ID) /* unaligned address - use critical */ \
} \
}

Definition at line 915 of file kmp_atomic.cpp.

Referenced by ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG(), and ATOMIC_CMPXCHG().

◆ ATOMIC_CMPXCHG_CMPLX

#define ATOMIC_CMPXCHG_CMPLX ( TYPE_ID,
TYPE,
OP_ID,
BITS,
OP,
RTYPE_ID,
RTYPE,
LCK_ID,
MASK,
GOMP_FLAG )
Value:
ATOMIC_BEGIN_MIX(TYPE_ID, TYPE, OP_ID, RTYPE_ID, RTYPE) \
OP_UPDATE_GOMP_CRITICAL(TYPE, OP, GOMP_FLAG) \
if (!((kmp_uintptr_t)lhs & 0x##MASK)) { \
OP_CMPXCHG(TYPE, BITS, OP) /* aligned address */ \
} else { \
OP_UPDATE_CRITICAL(TYPE, OP, \
LCK_ID) /* unaligned address - use critical */ \
} \
}
#define ATOMIC_BEGIN_MIX(TYPE_ID, TYPE, OP_ID, RTYPE_ID, RTYPE)

Definition at line 1894 of file kmp_atomic.cpp.

Referenced by ATOMIC_CMPXCHG_CMPLX().

◆ ATOMIC_CMPXCHG_CPT

◆ ATOMIC_CMPXCHG_MIX

#define ATOMIC_CMPXCHG_MIX ( TYPE_ID,
TYPE,
OP_ID,
BITS,
OP,
RTYPE_ID,
RTYPE,
LCK_ID,
MASK,
GOMP_FLAG )
Value:
ATOMIC_BEGIN_MIX(TYPE_ID, TYPE, OP_ID, RTYPE_ID, RTYPE) \
OP_UPDATE_GOMP_CRITICAL(TYPE, OP, GOMP_FLAG) \
if (!((kmp_uintptr_t)lhs & 0x##MASK)) { \
OP_CMPXCHG(TYPE, BITS, OP) /* aligned address */ \
} else { \
OP_UPDATE_CRITICAL(TYPE, OP, \
LCK_ID) /* unaligned address - use critical */ \
} \
}

Definition at line 1660 of file kmp_atomic.cpp.

Referenced by ATOMIC_CMPXCHG_MIX(), ATOMIC_CMPXCHG_MIX(), ATOMIC_CMPXCHG_MIX(), ATOMIC_CMPXCHG_MIX(), and ATOMIC_CMPXCHG_MIX().

◆ ATOMIC_CMPXCHG_READ

#define ATOMIC_CMPXCHG_READ ( TYPE_ID,
OP_ID,
TYPE,
BITS,
OP,
GOMP_FLAG )
Value:
ATOMIC_BEGIN_READ(TYPE_ID, OP_ID, TYPE, TYPE) \
TYPE new_value; \
OP_GOMP_CRITICAL_READ(OP## =, GOMP_FLAG) \
OP_CMPXCHG_READ(TYPE, BITS, OP) \
}
#define ATOMIC_BEGIN_READ(TYPE_ID, OP_ID, TYPE, RET_TYPE)

Definition at line 1995 of file kmp_atomic.cpp.

Referenced by ATOMIC_CMPXCHG_READ(), and ATOMIC_CMPXCHG_READ().

◆ ATOMIC_CMPXCHG_WR

#define ATOMIC_CMPXCHG_WR ( TYPE_ID,
OP_ID,
TYPE,
BITS,
OP,
GOMP_FLAG )
Value:
ATOMIC_BEGIN(TYPE_ID, OP_ID, TYPE, void) \
OP_GOMP_CRITICAL(OP, GOMP_FLAG) \
OP_CMPXCHG_WR(TYPE, BITS, OP) \
}

◆ ATOMIC_CRIT_EQV

#define ATOMIC_CRIT_EQV ( TYPE_ID,
OP_ID,
TYPE,
OP,
LCK_ID,
GOMP_FLAG )
Value:
ATOMIC_BEGIN(TYPE_ID, OP_ID, TYPE, void) \
OP_GOMP_CRITICAL(^= (TYPE) ~, GOMP_FLAG) /* send assignment */ \
OP_CRITICAL(^= (TYPE) ~, LCK_ID) /* send assignment and complement */ \
}

Definition at line 1259 of file kmp_atomic.cpp.

◆ ATOMIC_CRIT_L

#define ATOMIC_CRIT_L ( TYPE_ID,
OP_ID,
TYPE,
OP,
LCK_ID,
GOMP_FLAG )
Value:
ATOMIC_BEGIN(TYPE_ID, OP_ID, TYPE, void) \
OP_GOMP_CRITICAL(= *lhs OP, GOMP_FLAG) \
OP_CRITICAL(= *lhs OP, LCK_ID) \
}

Definition at line 1079 of file kmp_atomic.cpp.

◆ ATOMIC_CRITICAL

#define ATOMIC_CRITICAL ( TYPE_ID,
OP_ID,
TYPE,
OP,
LCK_ID,
GOMP_FLAG )
Value:
ATOMIC_BEGIN(TYPE_ID, OP_ID, TYPE, void) \
OP_UPDATE_GOMP_CRITICAL(TYPE, OP, GOMP_FLAG) /* send assignment */ \
OP_UPDATE_CRITICAL(TYPE, OP, LCK_ID) /* send assignment */ \
}

Definition at line 1315 of file kmp_atomic.cpp.

◆ ATOMIC_CRITICAL_CPT

#define ATOMIC_CRITICAL_CPT ( TYPE_ID,
OP_ID,
TYPE,
OP,
LCK_ID,
GOMP_FLAG )
Value:
ATOMIC_BEGIN_CPT(TYPE_ID, OP_ID, TYPE, TYPE) \
TYPE new_value; \
OP_GOMP_CRITICAL_CPT(TYPE, OP, GOMP_FLAG) /* send assignment */ \
OP_UPDATE_CRITICAL_CPT(TYPE, OP, LCK_ID) /* send assignment */ \
}

Definition at line 2792 of file kmp_atomic.cpp.

Referenced by ATOMIC_CRITICAL_CPT(), ATOMIC_CRITICAL_CPT(), ATOMIC_CRITICAL_CPT(), ATOMIC_CRITICAL_CPT(), ATOMIC_CRITICAL_CPT(), and ATOMIC_CRITICAL_CPT().

◆ ATOMIC_CRITICAL_CPT_WRK

#define ATOMIC_CRITICAL_CPT_WRK ( TYPE_ID,
OP_ID,
TYPE,
OP,
LCK_ID,
GOMP_FLAG )
Value:
ATOMIC_BEGIN_WRK(TYPE_ID, OP_ID, TYPE) \
OP_GOMP_CRITICAL_CPT_WRK(OP, GOMP_FLAG) \
OP_CRITICAL_CPT_WRK(OP## =, LCK_ID) \
}
#define ATOMIC_BEGIN_WRK(TYPE_ID, OP_ID, TYPE)

Definition at line 2835 of file kmp_atomic.cpp.

Referenced by ATOMIC_CRITICAL_CPT_WRK(), and ATOMIC_CRITICAL_CPT_WRK().

◆ ATOMIC_CRITICAL_FP

#define ATOMIC_CRITICAL_FP ( TYPE_ID,
TYPE,
OP_ID,
OP,
RTYPE_ID,
RTYPE,
LCK_ID,
GOMP_FLAG )
Value:
ATOMIC_BEGIN_MIX(TYPE_ID, TYPE, OP_ID, RTYPE_ID, RTYPE) \
OP_UPDATE_GOMP_CRITICAL(TYPE, OP, GOMP_FLAG) /* send assignment */ \
OP_UPDATE_CRITICAL(TYPE, OP, LCK_ID) /* send assignment */ \
}

Definition at line 1639 of file kmp_atomic.cpp.

Referenced by ATOMIC_CMPXCHG_MIX().

◆ ATOMIC_CRITICAL_READ

#define ATOMIC_CRITICAL_READ ( TYPE_ID,
OP_ID,
TYPE,
OP,
LCK_ID,
GOMP_FLAG )
Value:
ATOMIC_BEGIN_READ(TYPE_ID, OP_ID, TYPE, TYPE) \
TYPE new_value; \
OP_GOMP_CRITICAL_READ(OP## =, GOMP_FLAG) /* send assignment */ \
OP_CRITICAL_READ(OP, LCK_ID) /* send assignment */ \
return new_value; \
}

Definition at line 2007 of file kmp_atomic.cpp.

Referenced by ATOMIC_CRITICAL_READ().

◆ ATOMIC_CRITICAL_WR

#define ATOMIC_CRITICAL_WR ( TYPE_ID,
OP_ID,
TYPE,
OP,
LCK_ID,
GOMP_FLAG )
Value:
ATOMIC_BEGIN(TYPE_ID, OP_ID, TYPE, void) \
OP_GOMP_CRITICAL(OP, GOMP_FLAG) /* send assignment */ \
OP_CRITICAL(OP, LCK_ID) /* send assignment */ \
}

Referenced by ATOMIC_CRITICAL_WR().

◆ ATOMIC_FIXED_ADD

#define ATOMIC_FIXED_ADD ( TYPE_ID,
OP_ID,
TYPE,
BITS,
OP,
LCK_ID,
MASK,
GOMP_FLAG )
Value:
ATOMIC_BEGIN(TYPE_ID, OP_ID, TYPE, void) \
OP_UPDATE_GOMP_CRITICAL(TYPE, OP, GOMP_FLAG) \
if (!((kmp_uintptr_t)lhs & 0x##MASK)) { \
/* OP used as a sign for subtraction: (lhs-rhs) --> (lhs+-rhs) */ \
KMP_TEST_THEN_ADD##BITS(lhs, OP rhs); \
} else { \
OP_UPDATE_CRITICAL(TYPE, OP, \
LCK_ID) /* unaligned address - use critical */ \
} \
}

Definition at line 901 of file kmp_atomic.cpp.

Referenced by ATOMIC_FIXED_ADD().

◆ ATOMIC_FIXED_ADD_CPT

#define ATOMIC_FIXED_ADD_CPT ( TYPE_ID,
OP_ID,
TYPE,
BITS,
OP,
GOMP_FLAG )
Value:
ATOMIC_BEGIN_CPT(TYPE_ID, OP_ID, TYPE, TYPE) \
TYPE old_value, new_value; \
(void)new_value; \
OP_GOMP_CRITICAL_CPT(TYPE, OP, GOMP_FLAG) \
/* OP used as a sign for subtraction: (lhs-rhs) --> (lhs+-rhs) */ \
old_value = KMP_TEST_THEN_ADD##BITS(lhs, OP rhs); \
if (flag) { \
return old_value OP rhs; \
} else \
return old_value; \
}

Definition at line 2299 of file kmp_atomic.cpp.

Referenced by ATOMIC_FIXED_ADD_CPT().

◆ ATOMIC_FIXED_READ

#define ATOMIC_FIXED_READ ( TYPE_ID,
OP_ID,
TYPE,
BITS,
OP,
GOMP_FLAG )
Value:
ATOMIC_BEGIN_READ(TYPE_ID, OP_ID, TYPE, TYPE) \
TYPE new_value; \
OP_GOMP_CRITICAL_READ(OP## =, GOMP_FLAG) \
new_value = KMP_TEST_THEN_ADD##BITS(loc, OP 0); \
return new_value; \
}

Definition at line 1987 of file kmp_atomic.cpp.

Referenced by ATOMIC_FIXED_READ().

◆ ATOMIC_LOCK0

#define ATOMIC_LOCK0   __kmp_atomic_lock

Definition at line 706 of file kmp_atomic.cpp.

◆ ATOMIC_LOCK10r

#define ATOMIC_LOCK10r   __kmp_atomic_lock_10r

Definition at line 714 of file kmp_atomic.cpp.

◆ ATOMIC_LOCK16c

#define ATOMIC_LOCK16c   __kmp_atomic_lock_16c

Definition at line 716 of file kmp_atomic.cpp.

◆ ATOMIC_LOCK16r

#define ATOMIC_LOCK16r   __kmp_atomic_lock_16r

Definition at line 715 of file kmp_atomic.cpp.

◆ ATOMIC_LOCK1i

#define ATOMIC_LOCK1i   __kmp_atomic_lock_1i

Definition at line 707 of file kmp_atomic.cpp.

◆ ATOMIC_LOCK20c

#define ATOMIC_LOCK20c   __kmp_atomic_lock_20c

Definition at line 717 of file kmp_atomic.cpp.

◆ ATOMIC_LOCK2i

#define ATOMIC_LOCK2i   __kmp_atomic_lock_2i

Definition at line 708 of file kmp_atomic.cpp.

◆ ATOMIC_LOCK32c

#define ATOMIC_LOCK32c   __kmp_atomic_lock_32c

Definition at line 718 of file kmp_atomic.cpp.

◆ ATOMIC_LOCK4i

#define ATOMIC_LOCK4i   __kmp_atomic_lock_4i

Definition at line 709 of file kmp_atomic.cpp.

◆ ATOMIC_LOCK4r

#define ATOMIC_LOCK4r   __kmp_atomic_lock_4r

Definition at line 710 of file kmp_atomic.cpp.

◆ ATOMIC_LOCK8c

#define ATOMIC_LOCK8c   __kmp_atomic_lock_8c

Definition at line 713 of file kmp_atomic.cpp.

◆ ATOMIC_LOCK8i

#define ATOMIC_LOCK8i   __kmp_atomic_lock_8i

Definition at line 711 of file kmp_atomic.cpp.

◆ ATOMIC_LOCK8r

#define ATOMIC_LOCK8r   __kmp_atomic_lock_8r

Definition at line 712 of file kmp_atomic.cpp.

◆ ATOMIC_XCHG_FLOAT_WR

#define ATOMIC_XCHG_FLOAT_WR ( TYPE_ID,
OP_ID,
TYPE,
BITS,
OP,
GOMP_FLAG )
Value:
ATOMIC_BEGIN(TYPE_ID, OP_ID, TYPE, void) \
OP_GOMP_CRITICAL(OP, GOMP_FLAG) \
KMP_XCHG_REAL##BITS(lhs, rhs); \
}

◆ ATOMIC_XCHG_WR

#define ATOMIC_XCHG_WR ( TYPE_ID,
OP_ID,
TYPE,
BITS,
OP,
GOMP_FLAG )
Value:
ATOMIC_BEGIN(TYPE_ID, OP_ID, TYPE, void) \
OP_GOMP_CRITICAL(OP, GOMP_FLAG) \
KMP_XCHG_FIXED##BITS(lhs, rhs); \
}

Referenced by ATOMIC_XCHG_WR().

◆ GOMP_MIN_MAX_CRITSECT

#define GOMP_MIN_MAX_CRITSECT ( OP,
FLAG )

Definition at line 1153 of file kmp_atomic.cpp.

◆ GOMP_MIN_MAX_CRITSECT_CPT

#define GOMP_MIN_MAX_CRITSECT_CPT ( OP,
FLAG )

Definition at line 2660 of file kmp_atomic.cpp.

◆ KMP_ATOMIC_VOLATILE

#define KMP_ATOMIC_VOLATILE   volatile

Definition at line 605 of file kmp_atomic.cpp.

◆ KMP_CHECK_GTID

#define KMP_CHECK_GTID
Value:
if (gtid == KMP_GTID_UNKNOWN) { \
gtid = __kmp_entry_gtid(); \
}
#define __kmp_entry_gtid()
Definition kmp.h:3601
#define KMP_GTID_UNKNOWN
Definition kmp.h:1012

Definition at line 688 of file kmp_atomic.cpp.

◆ KMP_DO_PAUSE

#define KMP_DO_PAUSE

Definition at line 782 of file kmp_atomic.cpp.

◆ MIN_MAX_CMPXCHG

#define MIN_MAX_CMPXCHG ( TYPE,
BITS,
OP )
Value:
{ \
TYPE old_value; \
temp_val = *lhs; \
old_value = temp_val; \
while (old_value OP rhs && /* still need actions? */ \
!KMP_COMPARE_AND_STORE_ACQ##BITS( \
(kmp_int##BITS *)lhs, \
*VOLATILE_CAST(kmp_int##BITS *) & old_value, \
*VOLATILE_CAST(kmp_int##BITS *) & rhs)) { \
temp_val = *lhs; \
old_value = temp_val; \
} \
}
#define KMP_ATOMIC_VOLATILE
#define VOLATILE_CAST(x)
Definition kmp_os.h:1190
kmp_int32 kmp_int
Definition kmp_os.h:214

Definition at line 1157 of file kmp_atomic.cpp.

◆ MIN_MAX_CMPXCHG_CPT

#define MIN_MAX_CMPXCHG_CPT ( TYPE,
BITS,
OP )
Value:
{ \
/*TYPE old_value; */ \
temp_val = *lhs; \
old_value = temp_val; \
while (old_value OP rhs && /* still need actions? */ \
!KMP_COMPARE_AND_STORE_ACQ##BITS( \
(kmp_int##BITS *)lhs, \
*VOLATILE_CAST(kmp_int##BITS *) & old_value, \
*VOLATILE_CAST(kmp_int##BITS *) & rhs)) { \
temp_val = *lhs; \
old_value = temp_val; \
} \
if (flag) \
return rhs; \
else \
return old_value; \
}

Definition at line 2664 of file kmp_atomic.cpp.

◆ MIN_MAX_COMPXCHG

#define MIN_MAX_COMPXCHG ( TYPE_ID,
OP_ID,
TYPE,
BITS,
OP,
LCK_ID,
MASK,
GOMP_FLAG )
Value:
ATOMIC_BEGIN(TYPE_ID, OP_ID, TYPE, void) \
if (*lhs OP rhs) { \
GOMP_MIN_MAX_CRITSECT(OP, GOMP_FLAG) \
if (!((kmp_uintptr_t)lhs & 0x##MASK)) { \
MIN_MAX_CMPXCHG(TYPE, BITS, OP) /* aligned address */ \
} else { \
MIN_MAX_CRITSECT(OP, LCK_ID) /* unaligned address */ \
} \
} \
}

Definition at line 1199 of file kmp_atomic.cpp.

Referenced by MIN_MAX_COMPXCHG(), MIN_MAX_COMPXCHG(), MIN_MAX_COMPXCHG(), MIN_MAX_COMPXCHG(), and MIN_MAX_COMPXCHG().

◆ MIN_MAX_COMPXCHG_CPT

#define MIN_MAX_COMPXCHG_CPT ( TYPE_ID,
OP_ID,
TYPE,
BITS,
OP,
GOMP_FLAG )
Value:
ATOMIC_BEGIN_CPT(TYPE_ID, OP_ID, TYPE, TYPE) \
TYPE new_value, old_value; \
(void)new_value; \
if (*lhs OP rhs) { \
GOMP_MIN_MAX_CRITSECT_CPT(OP, GOMP_FLAG) \
MIN_MAX_CMPXCHG_CPT(TYPE, BITS, OP) \
} \
return *lhs; \
}

Definition at line 2696 of file kmp_atomic.cpp.

Referenced by MIN_MAX_COMPXCHG_CPT(), MIN_MAX_COMPXCHG_CPT(), MIN_MAX_COMPXCHG_CPT(), MIN_MAX_COMPXCHG_CPT(), and MIN_MAX_COMPXCHG_CPT().

◆ MIN_MAX_CRITICAL

#define MIN_MAX_CRITICAL ( TYPE_ID,
OP_ID,
TYPE,
OP,
LCK_ID,
GOMP_FLAG )
Value:
ATOMIC_BEGIN(TYPE_ID, OP_ID, TYPE, void) \
if (*lhs OP rhs) { /* need actions? */ \
GOMP_MIN_MAX_CRITSECT(OP, GOMP_FLAG) \
MIN_MAX_CRITSECT(OP, LCK_ID) \
} \
}

Definition at line 1175 of file kmp_atomic.cpp.

Referenced by MIN_MAX_COMPXCHG().

◆ MIN_MAX_CRITICAL_CPT

#define MIN_MAX_CRITICAL_CPT ( TYPE_ID,
OP_ID,
TYPE,
OP,
LCK_ID,
GOMP_FLAG )
Value:
ATOMIC_BEGIN_CPT(TYPE_ID, OP_ID, TYPE, TYPE) \
TYPE new_value, old_value; \
if (*lhs OP rhs) { /* need actions? */ \
GOMP_MIN_MAX_CRITSECT_CPT(OP, GOMP_FLAG) \
MIN_MAX_CRITSECT_CPT(OP, LCK_ID) \
} \
return *lhs; \
}

Definition at line 2686 of file kmp_atomic.cpp.

Referenced by MIN_MAX_CRITICAL_CPT().

◆ MIN_MAX_CRITSECT

#define MIN_MAX_CRITSECT ( OP,
LCK_ID )
Value:
__kmp_acquire_atomic_lock(&ATOMIC_LOCK##LCK_ID, gtid); \
\
if (*lhs OP rhs) { /* still need actions? */ \
*lhs = rhs; \
} \
__kmp_release_atomic_lock(&ATOMIC_LOCK##LCK_ID, gtid);
static void __kmp_acquire_atomic_lock(kmp_atomic_lock_t *lck, kmp_int32 gtid)
Definition kmp_atomic.h:367

Definition at line 1136 of file kmp_atomic.cpp.

◆ MIN_MAX_CRITSECT_CPT

#define MIN_MAX_CRITSECT_CPT ( OP,
LCK_ID )
Value:
__kmp_acquire_atomic_lock(&ATOMIC_LOCK##LCK_ID, gtid); \
\
if (*lhs OP rhs) { /* still need actions? */ \
old_value = *lhs; \
*lhs = rhs; \
if (flag) \
new_value = rhs; \
else \
new_value = old_value; \
} else { \
new_value = *lhs; \
} \
__kmp_release_atomic_lock(&ATOMIC_LOCK##LCK_ID, gtid); \
return new_value;

Definition at line 2636 of file kmp_atomic.cpp.

◆ OP_CMPXCHG

#define OP_CMPXCHG ( TYPE,
BITS,
OP )
Value:
{ \
TYPE old_value, new_value; \
old_value = *(TYPE volatile *)lhs; \
new_value = (TYPE)(old_value OP rhs); \
while (!KMP_COMPARE_AND_STORE_ACQ##BITS( \
(kmp_int##BITS *)lhs, *VOLATILE_CAST(kmp_int##BITS *) & old_value, \
*VOLATILE_CAST(kmp_int##BITS *) & new_value)) { \
\
old_value = *(TYPE volatile *)lhs; \
new_value = (TYPE)(old_value OP rhs); \
} \
}
#define KMP_DO_PAUSE

Definition at line 790 of file kmp_atomic.cpp.

◆ OP_CMPXCHG_CPT

#define OP_CMPXCHG_CPT ( TYPE,
BITS,
OP )
Value:
{ \
TYPE old_value, new_value; \
temp_val = *lhs; \
old_value = temp_val; \
new_value = (TYPE)(old_value OP rhs); \
while (!KMP_COMPARE_AND_STORE_ACQ##BITS( \
(kmp_int##BITS *)lhs, *VOLATILE_CAST(kmp_int##BITS *) & old_value, \
*VOLATILE_CAST(kmp_int##BITS *) & new_value)) { \
temp_val = *lhs; \
old_value = temp_val; \
new_value = (TYPE)(old_value OP rhs); \
} \
if (flag) { \
return new_value; \
} else \
return old_value; \
}

Definition at line 2269 of file kmp_atomic.cpp.

◆ OP_CMPXCHG_READ

#define OP_CMPXCHG_READ ( TYPE,
BITS,
OP )
Value:
{ \
union f_i_union { \
TYPE f_val; \
kmp_int##BITS i_val; \
}; \
union f_i_union old_value; \
temp_val = *loc; \
old_value.f_val = temp_val; \
old_value.i_val = KMP_COMPARE_AND_STORE_RET##BITS( \
(kmp_int##BITS *)loc, \
*VOLATILE_CAST(kmp_int##BITS *) & old_value.i_val, \
*VOLATILE_CAST(kmp_int##BITS *) & old_value.i_val); \
new_value = old_value.f_val; \
return new_value; \
}

Definition at line 1943 of file kmp_atomic.cpp.

◆ OP_CMPXCHG_WR

#define OP_CMPXCHG_WR ( TYPE,
BITS,
OP )
Value:
{ \
TYPE old_value, new_value; \
temp_val = *lhs; \
old_value = temp_val; \
new_value = rhs; \
while (!KMP_COMPARE_AND_STORE_ACQ##BITS( \
(kmp_int##BITS *)lhs, *VOLATILE_CAST(kmp_int##BITS *) & old_value, \
*VOLATILE_CAST(kmp_int##BITS *) & new_value)) { \
temp_val = *lhs; \
old_value = temp_val; \
new_value = rhs; \
} \
}

◆ OP_CRITICAL

#define OP_CRITICAL ( OP,
LCK_ID )
Value:
__kmp_acquire_atomic_lock(&ATOMIC_LOCK##LCK_ID, gtid); \
\
(*lhs) OP(rhs); \
\
__kmp_release_atomic_lock(&ATOMIC_LOCK##LCK_ID, gtid);

Definition at line 726 of file kmp_atomic.cpp.

◆ OP_CRITICAL_CPT

#define OP_CRITICAL_CPT ( OP,
LCK_ID )
Value:
__kmp_acquire_atomic_lock(&ATOMIC_LOCK##LCK_ID, gtid); \
\
if (flag) { \
(*lhs) OP rhs; \
new_value = (*lhs); \
} else { \
new_value = (*lhs); \
(*lhs) OP rhs; \
} \
\
__kmp_release_atomic_lock(&ATOMIC_LOCK##LCK_ID, gtid); \
return new_value;

Definition at line 2223 of file kmp_atomic.cpp.

◆ OP_CRITICAL_CPT_WRK

#define OP_CRITICAL_CPT_WRK ( OP,
LCK_ID )
Value:
__kmp_acquire_atomic_lock(&ATOMIC_LOCK##LCK_ID, gtid); \
\
if (flag) { \
(*lhs) OP rhs; \
(*out) = (*lhs); \
} else { \
(*out) = (*lhs); \
(*lhs) OP rhs; \
} \
\
__kmp_release_atomic_lock(&ATOMIC_LOCK##LCK_ID, gtid); \
return;

Definition at line 2802 of file kmp_atomic.cpp.

◆ OP_CRITICAL_L_CPT

#define OP_CRITICAL_L_CPT ( OP,
LCK_ID )
Value:
__kmp_acquire_atomic_lock(&ATOMIC_LOCK##LCK_ID, gtid); \
\
if (flag) { \
new_value OP rhs; \
(*lhs) = new_value; \
} else { \
new_value = (*lhs); \
(*lhs) OP rhs; \
} \
\
__kmp_release_atomic_lock(&ATOMIC_LOCK##LCK_ID, gtid);

Definition at line 2575 of file kmp_atomic.cpp.

◆ OP_CRITICAL_READ

#define OP_CRITICAL_READ ( OP,
LCK_ID )
Value:
__kmp_acquire_atomic_lock(&ATOMIC_LOCK##LCK_ID, gtid); \
\
new_value = (*loc); \
\
__kmp_release_atomic_lock(&ATOMIC_LOCK##LCK_ID, gtid);

Definition at line 1967 of file kmp_atomic.cpp.

◆ OP_GOMP_CRITICAL

#define OP_GOMP_CRITICAL ( OP,
FLAG )

Definition at line 775 of file kmp_atomic.cpp.

◆ OP_GOMP_CRITICAL_CPT

#define OP_GOMP_CRITICAL_CPT ( TYPE,
OP,
FLAG )

Definition at line 2259 of file kmp_atomic.cpp.

◆ OP_GOMP_CRITICAL_CPT_WRK

#define OP_GOMP_CRITICAL_CPT_WRK ( OP,
FLAG )

Definition at line 2824 of file kmp_atomic.cpp.

◆ OP_GOMP_CRITICAL_EQV_CPT

#define OP_GOMP_CRITICAL_EQV_CPT ( OP,
FLAG )

Definition at line 2756 of file kmp_atomic.cpp.

◆ OP_GOMP_CRITICAL_L_CPT

#define OP_GOMP_CRITICAL_L_CPT ( OP,
FLAG )

Definition at line 2597 of file kmp_atomic.cpp.

◆ OP_GOMP_CRITICAL_READ

#define OP_GOMP_CRITICAL_READ ( OP,
FLAG )

Definition at line 1983 of file kmp_atomic.cpp.

◆ OP_UPDATE_CRITICAL

#define OP_UPDATE_CRITICAL ( TYPE,
OP,
LCK_ID )
Value:
__kmp_acquire_atomic_lock(&ATOMIC_LOCK##LCK_ID, gtid); \
(*lhs) = (TYPE)((*lhs)OP rhs); \
__kmp_release_atomic_lock(&ATOMIC_LOCK##LCK_ID, gtid);

Definition at line 733 of file kmp_atomic.cpp.

◆ OP_UPDATE_CRITICAL_CPT

#define OP_UPDATE_CRITICAL_CPT ( TYPE,
OP,
LCK_ID )
Value:
__kmp_acquire_atomic_lock(&ATOMIC_LOCK##LCK_ID, gtid); \
\
if (flag) { \
(*lhs) = (TYPE)((*lhs)OP rhs); \
new_value = (*lhs); \
} else { \
new_value = (*lhs); \
(*lhs) = (TYPE)((*lhs)OP rhs); \
} \
\
__kmp_release_atomic_lock(&ATOMIC_LOCK##LCK_ID, gtid); \
return new_value;

Definition at line 2237 of file kmp_atomic.cpp.

◆ OP_UPDATE_GOMP_CRITICAL

#define OP_UPDATE_GOMP_CRITICAL ( TYPE,
OP,
FLAG )

Definition at line 776 of file kmp_atomic.cpp.

Typedef Documentation

◆ uchar

typedef unsigned char uchar

Definition at line 16 of file kmp_atomic.cpp.

◆ ushort

typedef unsigned short ushort

Definition at line 17 of file kmp_atomic.cpp.

Function Documentation

◆ __kmpc_atomic_1()

◆ __kmpc_atomic_16()

void __kmpc_atomic_16 ( ident_t * id_ref,
int gtid,
void * lhs,
void * rhs,
void(* )(void *, void *, void *) )

◆ __kmpc_atomic_2()

◆ __kmpc_atomic_32()

void __kmpc_atomic_32 ( ident_t * id_ref,
int gtid,
void * lhs,
void * rhs,
void(* )(void *, void *, void *) )

◆ __kmpc_atomic_4()

◆ __kmpc_atomic_8()

◆ __kmpc_atomic_end()

void __kmpc_atomic_end ( void )

◆ __kmpc_atomic_start()

void __kmpc_atomic_start ( void )

◆ ATOMIC_CMPX_EQV() [1/2]

KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPX_EQV ( fixed1 ,
eqv ,
kmp_int8 ,
8 ,
^~ ,
1i ,
0 ,
KMP_ARCH_X86  )

References ATOMIC_CMPX_EQV, eqv, i, KMP_ARCH_X86, and kmp_int8.

◆ ATOMIC_CMPX_EQV() [2/2]

KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPX_EQV ( fixed4 ,
eqv ,
kmp_int32 ,
32 ,
^~ ,
4i ,
3 ,
KMP_ARCH_X86  )

References ATOMIC_CMPX_EQV, eqv, i, and KMP_ARCH_X86.

◆ ATOMIC_CMPX_EQV_CPT() [1/2]

KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPX_EQV_CPT ( fixed1 ,
eqv_cpt ,
kmp_int8 ,
8 ,
^~ ,
KMP_ARCH_X86  )

◆ ATOMIC_CMPX_EQV_CPT() [2/2]

KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPX_EQV_CPT ( fixed4 ,
eqv_cpt ,
kmp_int32 ,
32 ,
^~ ,
KMP_ARCH_X86  )

◆ ATOMIC_CMPX_L() [1/4]

ATOMIC_CMPX_L ( fixed1 ,
andl ,
char ,
8 ,
&& ,
1i ,
0 ,
KMP_ARCH_X86  )

References i, and KMP_ARCH_X86.

◆ ATOMIC_CMPX_L() [2/4]

KMP_ARCH_X86 ATOMIC_CMPX_L ( fixed2 ,
andl ,
short ,
16 ,
&& ,
2i ,
1 ,
KMP_ARCH_X86  )

References ATOMIC_CMPX_L, i, and KMP_ARCH_X86.

◆ ATOMIC_CMPX_L() [3/4]

KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPX_L ( fixed4 ,
andl ,
kmp_int32 ,
32 ,
&& ,
4i ,
3 ,
0  )

References ATOMIC_CMPX_L, i, and orl.

◆ ATOMIC_CMPX_L() [4/4]

KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPX_L ( fixed8 ,
andl ,
kmp_int64 ,
64 ,
&& ,
8i ,
7 ,
KMP_ARCH_X86  )

References ATOMIC_CMPX_L, i, KMP_ARCH_X86, and orl.

◆ ATOMIC_CMPX_L_CPT() [1/4]

ATOMIC_CMPX_L_CPT ( fixed1 ,
andl_cpt ,
char ,
8 ,
&& ,
KMP_ARCH_X86  )

References KMP_ARCH_X86.

◆ ATOMIC_CMPX_L_CPT() [2/4]

KMP_ARCH_X86 ATOMIC_CMPX_L_CPT ( fixed2 ,
andl_cpt ,
short ,
16 ,
&& ,
KMP_ARCH_X86  )

◆ ATOMIC_CMPX_L_CPT() [3/4]

KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPX_L_CPT ( fixed4 ,
andl_cpt ,
kmp_int32 ,
32 ,
&& ,
0  )

References ATOMIC_CMPX_L_CPT, and orl_cpt.

◆ ATOMIC_CMPX_L_CPT() [4/4]

KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPX_L_CPT ( fixed8 ,
andl_cpt ,
kmp_int64 ,
64 ,
&& ,
KMP_ARCH_X86  )

◆ ATOMIC_CMPXCHG() [1/25]

KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG ( fixed1 ,
add ,
kmp_int8 ,
8 ,
+ ,
1i ,
0 ,
KMP_ARCH_X86  )

References add, ATOMIC_CMPXCHG, i, KMP_ARCH_X86, and kmp_int8.

◆ ATOMIC_CMPXCHG() [2/25]

KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG ( fixed1 ,
div ,
kmp_int8 ,
8 ,
/ ,
1i ,
0 ,
KMP_ARCH_X86  )

References ATOMIC_CMPXCHG, div, i, KMP_ARCH_X86, and kmp_int8.

◆ ATOMIC_CMPXCHG() [3/25]

KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG ( fixed1 ,
mul ,
kmp_int8 ,
8 ,
* ,
1i ,
0 ,
KMP_ARCH_X86  )

References ATOMIC_CMPXCHG, i, KMP_ARCH_X86, kmp_int8, and mul.

◆ ATOMIC_CMPXCHG() [4/25]

ATOMIC_CMPXCHG ( fixed1 ,
neqv ,
kmp_int8 ,
8 ,
^ ,
1i ,
0 ,
KMP_ARCH_X86  )

References i, KMP_ARCH_X86, kmp_int8, and neqv.

◆ ATOMIC_CMPXCHG() [5/25]

KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG ( fixed1 ,
shl ,
kmp_int8 ,
8 ,
<< ,
1i ,
0 ,
KMP_ARCH_X86  )

References ATOMIC_CMPXCHG, i, KMP_ARCH_X86, kmp_int8, and shl.

◆ ATOMIC_CMPXCHG() [6/25]

KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG ( fixed1 ,
xor ,
kmp_int8 ,
8 ,
^ ,
1i ,
0 ,
0  )

References ATOMIC_CMPXCHG, i, kmp_int8, and xor.

◆ ATOMIC_CMPXCHG() [7/25]

KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG ( fixed1u ,
shr ,
kmp_uint8 ,
8 ,
> > ,
1i ,
0 ,
KMP_ARCH_X86  )

References ATOMIC_CMPXCHG, i, KMP_ARCH_X86, kmp_int8, shr, and sub.

◆ ATOMIC_CMPXCHG() [8/25]

◆ ATOMIC_CMPXCHG() [9/25]

◆ ATOMIC_CMPXCHG() [10/25]

References andb, ATOMIC_CMPXCHG, i, kmp_int16, and xor.

◆ ATOMIC_CMPXCHG() [11/25]

References ATOMIC_CMPXCHG, div, i, and KMP_ARCH_X86.

◆ ATOMIC_CMPXCHG() [12/25]

KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86<<, 2i, 1, KMP_ARCH_X86) ATOMIC_CMPXCHG(fixed2, shr, kmp_int16, 16, > KMP_ARCH_X86 ATOMIC_CMPXCHG ( fixed2u ,
shr ,
kmp_uint16 ,
16 ,
> > ,
2i ,
1 ,
KMP_ARCH_X86  )

References ATOMIC_CMPXCHG, i, KMP_ARCH_X86, kmp_int16, shr, and sub.

◆ ATOMIC_CMPXCHG() [13/25]

◆ ATOMIC_CMPXCHG() [14/25]

◆ ATOMIC_CMPXCHG() [15/25]

KMP_ARCH_X86 ATOMIC_CMPXCHG ( fixed4 ,
neqv ,
kmp_int32 ,
32 ,
^ ,
4i ,
3 ,
KMP_ARCH_X86  )

References ATOMIC_CMPXCHG, i, KMP_ARCH_X86, and neqv.

◆ ATOMIC_CMPXCHG() [16/25]

◆ ATOMIC_CMPXCHG() [17/25]

◆ ATOMIC_CMPXCHG() [18/25]

◆ ATOMIC_CMPXCHG() [19/25]

◆ ATOMIC_CMPXCHG() [20/25]

◆ ATOMIC_CMPXCHG() [21/25]

◆ ATOMIC_CMPXCHG() [22/25]

ATOMIC_CMPXCHG ( float4 ,
add ,
kmp_real32 ,
32 ,
+ ,
4r ,
3 ,
KMP_ARCH_X86  )

References add, ATOMIC_CMPXCHG, KMP_ARCH_X86, and r.

◆ ATOMIC_CMPXCHG() [23/25]

◆ ATOMIC_CMPXCHG() [24/25]

KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG ( float8 ,
add ,
kmp_real64 ,
64 ,
+ ,
8r ,
7 ,
KMP_ARCH_X86  )

References add, ATOMIC_CMPXCHG, float8, KMP_ARCH_X86, and r.

◆ ATOMIC_CMPXCHG() [25/25]

◆ ATOMIC_CMPXCHG_CMPLX() [1/2]

ATOMIC_CMPXCHG_CMPLX ( cmplx4 ,
kmp_cmplx32 ,
add ,
64 ,
+ ,
cmplx8 ,
kmp_cmplx64 ,
8c ,
7 ,
KMP_ARCH_X86  )

References add, cmplx8, and KMP_ARCH_X86.

◆ ATOMIC_CMPXCHG_CMPLX() [2/2]

KMP_ARCH_X86 ATOMIC_CMPXCHG_CMPLX ( cmplx4 ,
kmp_cmplx32 ,
mul ,
64 ,
* ,
cmplx8 ,
kmp_cmplx64 ,
8c ,
7 ,
KMP_ARCH_X86  )

◆ ATOMIC_CMPXCHG_CPT() [1/25]

KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT ( fixed1 ,
add_cpt ,
kmp_int8 ,
8 ,
+ ,
KMP_ARCH_X86  )

◆ ATOMIC_CMPXCHG_CPT() [2/25]

KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT ( fixed1 ,
div_cpt ,
kmp_int8 ,
8 ,
/ ,
KMP_ARCH_X86  )

◆ ATOMIC_CMPXCHG_CPT() [3/25]

◆ ATOMIC_CMPXCHG_CPT() [4/25]

ATOMIC_CMPXCHG_CPT ( fixed1 ,
neqv_cpt ,
kmp_int8 ,
8 ,
^ ,
KMP_ARCH_X86  )

References KMP_ARCH_X86, kmp_int8, and neqv_cpt.

◆ ATOMIC_CMPXCHG_CPT() [5/25]

◆ ATOMIC_CMPXCHG_CPT() [6/25]

◆ ATOMIC_CMPXCHG_CPT() [7/25]

◆ ATOMIC_CMPXCHG_CPT() [8/25]

◆ ATOMIC_CMPXCHG_CPT() [9/25]

◆ ATOMIC_CMPXCHG_CPT() [10/25]

◆ ATOMIC_CMPXCHG_CPT() [11/25]

◆ ATOMIC_CMPXCHG_CPT() [12/25]

◆ ATOMIC_CMPXCHG_CPT() [13/25]

◆ ATOMIC_CMPXCHG_CPT() [14/25]

◆ ATOMIC_CMPXCHG_CPT() [15/25]

KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT ( fixed4 ,
neqv_cpt ,
kmp_int32 ,
32 ,
^ ,
KMP_ARCH_X86  )

◆ ATOMIC_CMPXCHG_CPT() [16/25]

◆ ATOMIC_CMPXCHG_CPT() [17/25]

◆ ATOMIC_CMPXCHG_CPT() [18/25]

◆ ATOMIC_CMPXCHG_CPT() [19/25]

◆ ATOMIC_CMPXCHG_CPT() [20/25]

◆ ATOMIC_CMPXCHG_CPT() [21/25]

◆ ATOMIC_CMPXCHG_CPT() [22/25]

KMP_ARCH_X86 ATOMIC_CMPXCHG_CPT ( float4 ,
add_cpt ,
kmp_real32 ,
32 ,
+ ,
KMP_ARCH_X86  )

◆ ATOMIC_CMPXCHG_CPT() [23/25]

◆ ATOMIC_CMPXCHG_CPT() [24/25]

◆ ATOMIC_CMPXCHG_CPT() [25/25]

◆ ATOMIC_CMPXCHG_MIX() [1/6]

ATOMIC_CMPXCHG_MIX ( fixed1 ,
char ,
mul ,
8 ,
* ,
float8 ,
kmp_real64 ,
1i ,
0 ,
KMP_ARCH_X86  )

References float8, i, KMP_ARCH_X86, and mul.

◆ ATOMIC_CMPXCHG_MIX() [2/6]

KMP_ARCH_X86 ATOMIC_CMPXCHG_MIX ( fixed2 ,
short ,
mul ,
16 ,
* ,
float8 ,
kmp_real64 ,
2i ,
1 ,
KMP_ARCH_X86  )

◆ ATOMIC_CMPXCHG_MIX() [3/6]

KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_MIX ( fixed4 ,
kmp_int32 ,
mul ,
32 ,
* ,
float8 ,
kmp_real64 ,
4i ,
3 ,
0  )

References ATOMIC_CMPXCHG_MIX, div, float8, i, and mul.

◆ ATOMIC_CMPXCHG_MIX() [4/6]

KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_MIX ( fixed8 ,
kmp_int64 ,
mul ,
64 ,
* ,
float8 ,
kmp_real64 ,
8i ,
7 ,
KMP_ARCH_X86  )

◆ ATOMIC_CMPXCHG_MIX() [5/6]

KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_MIX ( float4 ,
kmp_real32 ,
add ,
32 ,
+ ,
float8 ,
kmp_real64 ,
4r ,
3 ,
KMP_ARCH_X86  )

◆ ATOMIC_CMPXCHG_MIX() [6/6]

◆ ATOMIC_CMPXCHG_READ() [1/2]

KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_CMPXCHG_READ ( fixed2 ,
rd ,
kmp_int16 ,
16 ,
+ ,
KMP_ARCH_X86  )

◆ ATOMIC_CMPXCHG_READ() [2/2]

KMP_ARCH_X86 ATOMIC_CMPXCHG_READ ( float8 ,
rd ,
kmp_real64 ,
64 ,
+ ,
KMP_ARCH_X86  )

◆ ATOMIC_CRITICAL_CPT() [1/6]

long long ATOMIC_CRITICAL_CPT ( cmplx10 ,
add_cpt ,
kmp_cmplx80 ,
+ ,
20c ,
1  )

References add_cpt, ATOMIC_CRITICAL_CPT, and sub_cpt.

◆ ATOMIC_CRITICAL_CPT() [2/6]

long long ATOMIC_CRITICAL_CPT ( cmplx10 ,
mul_cpt ,
kmp_cmplx80 ,
* ,
20c ,
1  )

◆ ATOMIC_CRITICAL_CPT() [3/6]

long long ATOMIC_CRITICAL_CPT ( cmplx8 ,
add_cpt ,
kmp_cmplx64 ,
+ ,
16c ,
1  )

◆ ATOMIC_CRITICAL_CPT() [4/6]

long long ATOMIC_CRITICAL_CPT ( cmplx8 ,
mul_cpt ,
kmp_cmplx64 ,
* ,
16c ,
1  )

◆ ATOMIC_CRITICAL_CPT() [5/6]

ATOMIC_CRITICAL_CPT ( float10 ,
add_cpt ,
long double ,
+ ,
10r ,
1  )

References add_cpt, ATOMIC_CRITICAL_CPT, r, and sub_cpt.

◆ ATOMIC_CRITICAL_CPT() [6/6]

long ATOMIC_CRITICAL_CPT ( float10 ,
mul_cpt ,
long double ,
* ,
10r ,
1  )

◆ ATOMIC_CRITICAL_CPT_WRK() [1/2]

long long ATOMIC_CRITICAL_CPT_WRK ( cmplx4 ,
add_cpt ,
kmp_cmplx32 ,
+ ,
8c ,
1  )

◆ ATOMIC_CRITICAL_CPT_WRK() [2/2]

long long ATOMIC_CRITICAL_CPT_WRK ( cmplx4 ,
mul_cpt ,
kmp_cmplx32 ,
* ,
8c ,
1  )

◆ ATOMIC_CRITICAL_READ() [1/2]

KMP_ARCH_X86 KMP_ARCH_X86 long ATOMIC_CRITICAL_READ ( cmplx10 ,
rd ,
kmp_cmplx80 ,
+ ,
20c ,
1  )

References ATOMIC_CRITICAL_READ, CPLX128_LEG, r, and rd.

◆ ATOMIC_CRITICAL_READ() [2/2]

KMP_ARCH_X86 KMP_ARCH_X86 long ATOMIC_CRITICAL_READ ( cmplx4 ,
rd ,
kmp_cmplx32 ,
+ ,
8c ,
1  )

References cmplx8, and rd.

◆ ATOMIC_CRITICAL_WR()

KMP_ARCH_X86 KMP_ARCH_X86 long KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 long ATOMIC_CRITICAL_WR ( cmplx8 ,
wr ,
kmp_cmplx64 ,
16c ,
1  )

References ATOMIC_CRITICAL_WR, cmplx8, and wr.

◆ ATOMIC_FIXED_ADD() [1/2]

ATOMIC_FIXED_ADD ( fixed4 ,
add ,
kmp_int32 ,
32 ,
+ ,
4i ,
3 ,
0  )

References add, and i.

◆ ATOMIC_FIXED_ADD() [2/2]

KMP_ARCH_X86 ATOMIC_FIXED_ADD ( fixed8 ,
add ,
kmp_int64 ,
64 ,
+ ,
8i ,
7 ,
KMP_ARCH_X86  )

References add, ATOMIC_FIXED_ADD, i, and KMP_ARCH_X86.

◆ ATOMIC_FIXED_ADD_CPT() [1/2]

ATOMIC_FIXED_ADD_CPT ( fixed4 ,
add_cpt ,
kmp_int32 ,
32 ,
+ ,
0  )

References add_cpt.

◆ ATOMIC_FIXED_ADD_CPT() [2/2]

ATOMIC_FIXED_ADD_CPT ( fixed8 ,
add_cpt ,
kmp_int64 ,
64 ,
+ ,
KMP_ARCH_X86  )

◆ ATOMIC_FIXED_READ()

ATOMIC_FIXED_READ ( fixed8 ,
rd ,
kmp_int64 ,
64 ,
+ ,
KMP_ARCH_X86  )

References ATOMIC_FIXED_READ, KMP_ARCH_X86, and rd.

◆ ATOMIC_XCHG_FLOAT_WR()

◆ ATOMIC_XCHG_WR() [1/2]

KMP_ARCH_X86 KMP_ARCH_X86 long KMP_ARCH_X86 ATOMIC_XCHG_WR ( fixed2 ,
wr ,
kmp_int16 ,
16 ,
KMP_ARCH_X86  )

◆ ATOMIC_XCHG_WR() [2/2]

KMP_ARCH_X86 KMP_ARCH_X86 long KMP_ARCH_X86 KMP_ARCH_X86 ATOMIC_XCHG_WR ( fixed8 ,
wr ,
kmp_int64 ,
64 ,
KMP_ARCH_X86  )

References float8, KMP_ARCH_X86, and wr.

◆ MIN_MAX_COMPXCHG() [1/6]

MIN_MAX_COMPXCHG ( fixed1 ,
max ,
char ,
8  )

References i, and KMP_ARCH_X86.

◆ MIN_MAX_COMPXCHG() [2/6]

KMP_ARCH_X86 MIN_MAX_COMPXCHG ( fixed2 ,
max ,
short ,
16  )

References i, KMP_ARCH_X86, min, and MIN_MAX_COMPXCHG.

◆ MIN_MAX_COMPXCHG() [3/6]

KMP_ARCH_X86 KMP_ARCH_X86 MIN_MAX_COMPXCHG ( fixed4 ,
max ,
kmp_int32 ,
32  )

References i, min, and MIN_MAX_COMPXCHG.

◆ MIN_MAX_COMPXCHG() [4/6]

KMP_ARCH_X86 KMP_ARCH_X86 MIN_MAX_COMPXCHG ( fixed8 ,
max ,
kmp_int64 ,
64  )

References i, KMP_ARCH_X86, min, and MIN_MAX_COMPXCHG.

◆ MIN_MAX_COMPXCHG() [5/6]

KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 MIN_MAX_COMPXCHG ( float4 ,
max ,
kmp_real32 ,
32  )

References KMP_ARCH_X86, min, MIN_MAX_COMPXCHG, and r.

◆ MIN_MAX_COMPXCHG() [6/6]

◆ MIN_MAX_COMPXCHG_CPT() [1/6]

MIN_MAX_COMPXCHG_CPT ( fixed1 ,
max_cpt ,
char ,
8  )

References KMP_ARCH_X86.

◆ MIN_MAX_COMPXCHG_CPT() [2/6]

KMP_ARCH_X86 MIN_MAX_COMPXCHG_CPT ( fixed2 ,
max_cpt ,
short ,
16  )

◆ MIN_MAX_COMPXCHG_CPT() [3/6]

KMP_ARCH_X86 KMP_ARCH_X86 MIN_MAX_COMPXCHG_CPT ( fixed4 ,
max_cpt ,
kmp_int32 ,
32  )

References min_cpt, and MIN_MAX_COMPXCHG_CPT.

◆ MIN_MAX_COMPXCHG_CPT() [4/6]

KMP_ARCH_X86 KMP_ARCH_X86 MIN_MAX_COMPXCHG_CPT ( fixed8 ,
max_cpt ,
kmp_int64 ,
64  )

◆ MIN_MAX_COMPXCHG_CPT() [5/6]

KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 MIN_MAX_COMPXCHG_CPT ( float4 ,
max_cpt ,
kmp_real32 ,
32  )

◆ MIN_MAX_COMPXCHG_CPT() [6/6]

KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 MIN_MAX_COMPXCHG_CPT ( float8 ,
max_cpt ,
kmp_real64 ,
64  )

◆ MIN_MAX_CRITICAL_CPT()

KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 MIN_MAX_CRITICAL_CPT ( float10 ,
max_cpt ,
long double  )

Variable Documentation

◆ __kmp_atomic_lock

◆ __kmp_atomic_lock_10r

kmp_atomic_lock_t __kmp_atomic_lock_10r

Definition at line 590 of file kmp_atomic.cpp.

Referenced by __kmp_do_serial_initialize().

◆ __kmp_atomic_lock_16c

kmp_atomic_lock_t __kmp_atomic_lock_16c

Definition at line 594 of file kmp_atomic.cpp.

Referenced by __kmp_do_serial_initialize(), and __kmpc_atomic_16().

◆ __kmp_atomic_lock_16r

kmp_atomic_lock_t __kmp_atomic_lock_16r

Definition at line 592 of file kmp_atomic.cpp.

Referenced by __kmp_do_serial_initialize().

◆ __kmp_atomic_lock_1i

kmp_atomic_lock_t __kmp_atomic_lock_1i

Definition at line 576 of file kmp_atomic.cpp.

Referenced by __kmp_do_serial_initialize(), and __kmpc_atomic_1().

◆ __kmp_atomic_lock_20c

kmp_atomic_lock_t __kmp_atomic_lock_20c

Definition at line 596 of file kmp_atomic.cpp.

Referenced by __kmp_do_serial_initialize().

◆ __kmp_atomic_lock_2i

kmp_atomic_lock_t __kmp_atomic_lock_2i

Definition at line 578 of file kmp_atomic.cpp.

Referenced by __kmp_do_serial_initialize(), and __kmpc_atomic_2().

◆ __kmp_atomic_lock_32c

kmp_atomic_lock_t __kmp_atomic_lock_32c

Definition at line 598 of file kmp_atomic.cpp.

Referenced by __kmp_do_serial_initialize(), and __kmpc_atomic_32().

◆ __kmp_atomic_lock_4i

kmp_atomic_lock_t __kmp_atomic_lock_4i

Definition at line 580 of file kmp_atomic.cpp.

Referenced by __kmp_do_serial_initialize(), and __kmpc_atomic_4().

◆ __kmp_atomic_lock_4r

kmp_atomic_lock_t __kmp_atomic_lock_4r

Definition at line 582 of file kmp_atomic.cpp.

Referenced by __kmp_do_serial_initialize().

◆ __kmp_atomic_lock_8c

kmp_atomic_lock_t __kmp_atomic_lock_8c

Definition at line 588 of file kmp_atomic.cpp.

Referenced by __kmp_do_serial_initialize().

◆ __kmp_atomic_lock_8i

kmp_atomic_lock_t __kmp_atomic_lock_8i

Definition at line 584 of file kmp_atomic.cpp.

Referenced by __kmp_do_serial_initialize(), and __kmpc_atomic_8().

◆ __kmp_atomic_lock_8r

kmp_atomic_lock_t __kmp_atomic_lock_8r

Definition at line 586 of file kmp_atomic.cpp.

Referenced by __kmp_do_serial_initialize().

◆ add

◆ add_cpt

◆ andb

◆ andb_cpt

◆ char

◆ cmplx8

◆ div

◆ div_cpt

◆ double

◆ eqv

Definition at line 1302 of file kmp_atomic.cpp.

Referenced by ATOMIC_CMPX_EQV(), and ATOMIC_CMPX_EQV().

◆ eqv_cpt

Definition at line 2779 of file kmp_atomic.cpp.

Referenced by ATOMIC_CMPX_EQV_CPT(), and ATOMIC_CMPX_EQV_CPT().

◆ float8

◆ kmp_cmplx32

long long kmp_cmplx32

Definition at line 1910 of file kmp_atomic.cpp.

◆ kmp_cmplx64

long long kmp_cmplx64

Definition at line 1910 of file kmp_atomic.cpp.

◆ kmp_cmplx80

long long kmp_cmplx80

Definition at line 2190 of file kmp_atomic.cpp.

◆ kmp_int16

◆ kmp_int32

Definition at line 949 of file kmp_atomic.cpp.

◆ kmp_int64

◆ kmp_int8

◆ kmp_real32

◆ kmp_real64

◆ kmp_uint32

Definition at line 1031 of file kmp_atomic.cpp.

Referenced by __kmp_abs(), __kmp_acquire_drdpa_lock_timed_template(), __kmp_acquire_queuing_lock_timed_template(), __kmp_acquire_tas_lock_timed_template(), __kmp_acquire_ticket_lock_timed_template(), __kmp_allocate_task_team(), __kmp_bakery_check(), __kmp_check_sync(), __kmp_dispatch_init(), __kmp_dispatch_init_algorithm(), __kmp_dispatch_next_algorithm(), __kmp_dist_barrier_gather(), __kmp_dist_for_static_init(), __kmp_dist_get_bounds(), __kmp_do_serial_initialize(), __kmp_eq(), __kmp_eq_4(), __kmp_for_static_init(), __kmp_free_team(), __kmp_ge(), __kmp_ge_4(), __kmp_get_hierarchy(), __kmp_get_priority_task(), __kmp_hierarchical_barrier_gather(), __kmp_hierarchical_barrier_release(), __kmp_hyper_barrier_gather(), __kmp_hyper_barrier_release(), __kmp_init_hierarchical_barrier_thread(), __kmp_le_4(), __kmp_linear_barrier_release_template(), __kmp_lt_4(), __kmp_neq_4(), __kmp_push_num_threads_list(), __kmp_reap_common(), __kmp_release_queuing_lock(), __kmp_remove_my_task(), __kmp_spin_backoff(), __kmp_steal_task(), __kmp_stg_parse_barrier_branch_bit(), __kmp_stg_parse_spin_backoff_params(), __kmp_task_reduction_init(), __kmp_team_static_init(), __kmp_test_ticket_lock(), __kmp_test_ticket_lock_with_cheks(), __kmp_tree_barrier_gather(), __kmp_tree_barrier_release(), __kmp_validate_locks(), __kmp_wait(), __kmp_wait_4(), __kmp_wait_4_ptr(), __kmp_wait_template(), __kmp_wait_to_unref_task_teams(), __kmpc_atomic_cmplx10_div(), __kmpc_atomic_cmplx10_div_cpt(), __kmpc_atomic_fixed4u_div(), __kmpc_atomic_fixed4u_div_cpt(), __kmpc_atomic_fixed4u_shr(), __kmpc_atomic_fixed4u_shr_cpt(), __kmpc_atomic_float4_div_float8(), __kmpc_dispatch_init_4u(), __kmpc_dispatch_next_4u(), __kmpc_dist_dispatch_init_4u(), __kmpc_dist_for_static_init_4u(), __kmpc_doacross_fini(), __kmpc_doacross_init(), __kmpc_doacross_post(), __kmpc_doacross_wait(), __kmpc_for_collapsed_init(), __kmpc_for_static_init_4u(), __kmpc_push_num_threads_list(), __kmpc_push_num_threads_list_strict(), __kmpc_sections_init(), __kmpc_team_static_init_4u(), ATOMIC_CMPXCHG(), ATOMIC_CMPXCHG_CPT(), ATOMIC_CMPXCHG_CPT(), ATOMIC_CMPXCHG_CPT(), ATOMIC_CMPXCHG_MIX(), ATOMIC_CRITICAL_CPT(), kmp_flag< FlagType >::get_num_waiters(), kmp_flag< FlagType >::get_waiter(), hierarchy_info::init(), KMP_BUILD_ASSERT(), kmp_fix_iv(), kmp_flag_32< Cancellable, Sleepable >::kmp_flag_32(), kmp_flag_32< Cancellable, Sleepable >::kmp_flag_32(), kmp_flag_32< Cancellable, Sleepable >::kmp_flag_32(), kmp_flag_oncore::kmp_flag_oncore(), kmp_flag_oncore::kmp_flag_oncore(), kmp_handle_lower_triangle_matrix(), kmp_handle_upper_triangle_matrix(), kmp_ivs_eq(), KMP_XCHG_REAL32(), hierarchy_info::resize(), kmp_taskloop_bounds_t::set_lb(), and kmp_taskloop_bounds_t::set_ub().

◆ kmp_uint8

◆ min

◆ min_cpt

◆ mul

◆ mul_cpt

◆ neqv

Definition at line 1294 of file kmp_atomic.cpp.

Referenced by ATOMIC_CMPXCHG(), and ATOMIC_CMPXCHG().

◆ neqv_cpt

KMP_ARCH_X86 neqv_cpt

Definition at line 2771 of file kmp_atomic.cpp.

Referenced by ATOMIC_CMPXCHG_CPT(), and ATOMIC_CMPXCHG_CPT().

◆ orb

◆ orb_cpt

◆ orl

Definition at line 1112 of file kmp_atomic.cpp.

Referenced by ATOMIC_CMPX_L(), and ATOMIC_CMPX_L().

◆ orl_cpt

◆ rd

◆ shl

◆ shl_cpt

◆ short

KMP_ARCH_X86 short

Definition at line 1116 of file kmp_atomic.cpp.

Referenced by __kmp_fork_call(), and __kmp_get_random().

◆ shr

◆ shr_cpt

◆ sub

◆ sub_cpt

◆ wr

◆ xor

◆ xor_cpt