15#if (KMP_ARCH_X86 || KMP_ARCH_X86_64 || KMP_ARCH_AARCH64 || KMP_ARCH_ARM || \
24 new_value = old_value |
d;
29 new_value = old_value |
d;
38 new_value = old_value &
d;
43 new_value = old_value &
d;
52 new_value = old_value |
d;
58 new_value = old_value |
d;
67 new_value = old_value &
d;
73 new_value = old_value &
d;
78#if KMP_ARCH_X86 || KMP_ARCH_X86_64
83 new_value = old_value +
d;
84 while (!__kmp_compare_and_store8(
p, old_value, new_value)) {
87 new_value = old_value +
d;
97 new_value = old_value +
d;
98 while (!__kmp_compare_and_store64(
p, old_value, new_value)) {
101 new_value = old_value +
d;
112 new_value = old_value |
d;
117 new_value = old_value |
d;
127 new_value = old_value &
d;
132 new_value = old_value &
d;
138#if KMP_ARCH_AARCH64 && KMP_COMPILER_MSVC
145 void **exit_frame_ptr
154 (*pkfn)(>id, &tid);
157 (*pkfn)(>id, &tid, p_argv[0]);
160 (*pkfn)(>id, &tid, p_argv[0], p_argv[1]);
163 (*pkfn)(>id, &tid, p_argv[0], p_argv[1], p_argv[2]);
166 (*pkfn)(>id, &tid, p_argv[0], p_argv[1], p_argv[2], p_argv[3]);
169 (*pkfn)(>id, &tid, p_argv[0], p_argv[1], p_argv[2], p_argv[3], p_argv[4]);
174 size_t len = (argc - 6) *
sizeof(
void *);
175 void *argbuf = alloca(len);
176 memcpy(argbuf, &p_argv[6], len);
180 (*pkfn)(>id, &tid, p_argv[0], p_argv[1], p_argv[2], p_argv[3], p_argv[4],
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d
void const char const char int ITT_FORMAT __itt_group_sync p
int __kmp_invoke_microtask(microtask_t pkfn, int gtid, int npr, int argc, void *argv[])
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 kmp_int8
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
unsigned long long kmp_uint64
void(* microtask_t)(int *gtid, int *npr,...)
#define KMP_COMPARE_AND_STORE_REL64(p, cv, sv)
#define KMP_COMPARE_AND_STORE_REL32(p, cv, sv)
#define KMP_COMPARE_AND_STORE_REL8(p, cv, sv)
#define OMPT_GET_FRAME_ADDRESS(level)