15#if (KMP_ARCH_X86 || KMP_ARCH_X86_64 || KMP_ARCH_AARCH64 || KMP_ARCH_ARM)
23 new_value = old_value |
d;
28 new_value = old_value |
d;
37 new_value = old_value &
d;
42 new_value = old_value &
d;
51 new_value = old_value |
d;
57 new_value = old_value |
d;
66 new_value = old_value &
d;
72 new_value = old_value &
d;
77#if KMP_ARCH_X86 || KMP_ARCH_X86_64
82 new_value = old_value +
d;
83 while (!__kmp_compare_and_store8(
p, old_value, new_value)) {
86 new_value = old_value +
d;
96 new_value = old_value +
d;
97 while (!__kmp_compare_and_store64(
p, old_value, new_value)) {
100 new_value = old_value +
d;
111 new_value = old_value |
d;
116 new_value = old_value |
d;
126 new_value = old_value &
d;
131 new_value = old_value &
d;
137#if KMP_ARCH_AARCH64 && KMP_COMPILER_MSVC
144 void **exit_frame_ptr
153 (*pkfn)(>id, &tid);
156 (*pkfn)(>id, &tid, p_argv[0]);
159 (*pkfn)(>id, &tid, p_argv[0], p_argv[1]);
162 (*pkfn)(>id, &tid, p_argv[0], p_argv[1], p_argv[2]);
165 (*pkfn)(>id, &tid, p_argv[0], p_argv[1], p_argv[2], p_argv[3]);
168 (*pkfn)(>id, &tid, p_argv[0], p_argv[1], p_argv[2], p_argv[3], p_argv[4]);
173 size_t len = (argc - 6) *
sizeof(
void *);
174 void *argbuf = alloca(len);
175 memcpy(argbuf, &p_argv[6], len);
179 (*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
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)