Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
openmp/runtime/src/kmp_os.h
Show First 20 Lines • Show All 604 Lines • ▼ Show 20 Lines | |||||
#define KMP_COMPARE_AND_STORE_RET64(p, cv, sv) \ | #define KMP_COMPARE_AND_STORE_RET64(p, cv, sv) \ | ||||
_InterlockedCompareExchange64((volatile kmp_int64 *)(p), (kmp_int64)(sv), \ | _InterlockedCompareExchange64((volatile kmp_int64 *)(p), (kmp_int64)(sv), \ | ||||
(kmp_int64)(cv)) | (kmp_int64)(cv)) | ||||
#define KMP_XCHG_FIXED8(p, v) \ | #define KMP_XCHG_FIXED8(p, v) \ | ||||
_InterlockedExchange8((volatile kmp_int8 *)(p), (kmp_int8)(v)); | _InterlockedExchange8((volatile kmp_int8 *)(p), (kmp_int8)(v)); | ||||
#define KMP_XCHG_FIXED16(p, v) _InterlockedExchange16((p), (v)); | #define KMP_XCHG_FIXED16(p, v) _InterlockedExchange16((p), (v)); | ||||
#define KMP_XCHG_REAL64(p, v) __kmp_xchg_real64((p), (v))); | #define KMP_XCHG_REAL64(p, v) __kmp_xchg_real64((p), (v)); | ||||
inline kmp_real64 __kmp_xchg_real64(volatile kmp_real64 *p, kmp_real64 v) { | inline kmp_real64 __kmp_xchg_real64(volatile kmp_real64 *p, kmp_real64 v) { | ||||
kmp_int64 tmp = _InterlockedExchange64((volatile kmp_int64 *)p, *(kmp_int64 | kmp_int64 tmp = _InterlockedExchange64((volatile kmp_int64 *)p, *(kmp_int64 | ||||
*)&v); return *(kmp_real64 *)&tmp; | *)&v); return *(kmp_real64 *)&tmp; | ||||
} | } | ||||
#else // !KMP_ARCH_AARCH64 | #else // !KMP_ARCH_AARCH64 | ||||
▲ Show 20 Lines • Show All 672 Lines • Show Last 20 Lines |