17#include "../../../deps/riscv-opcodes/encoding.h"
19#define _KMP_PRINTF(...) \
21 printf("[kmc] "__VA_ARGS__); \
23#define KMP_PRINTF(d, ...) \
24 if (KMP_DEBUG_LEVEL >= d) { \
25 _KMP_PRINTF(__VA_ARGS__); \
28#define KMP_PRINTF(d, ...)
42typedef int32_t kmp_int32;
43typedef uint32_t kmp_uint32;
44typedef int64_t kmp_int64;
45typedef uint64_t kmp_uint64;
46typedef kmp_uint64 _kmp_ptr64;
47typedef kmp_uint32 _kmp_ptr32;
66enum sched_type : kmp_int32 {
68 kmp_sch_static_chunked = 33,
70 kmp_sch_dynamic_chunked = 35,
71 kmp_sch_guided_chunked = 36,
74 kmp_sch_trapezoidal = 39,
77 kmp_sch_static_greedy = 40,
78 kmp_sch_static_balanced = 41,
80 kmp_sch_guided_iterative_chunked = 42,
81 kmp_sch_guided_analytical_chunked = 43,
83 kmp_sch_static_steal = 44,
86 kmp_sch_static_balanced_chunked = 45,
87 kmp_sch_guided_simd = 46,
88 kmp_sch_runtime_simd = 47,
95 kmp_ord_static_chunked = 65,
97 kmp_ord_dynamic_chunked = 67,
98 kmp_ord_guided_chunked = 68,
101 kmp_ord_trapezoidal = 71,
105 kmp_distribute_static_chunked = 91,
106 kmp_distribute_static = 92,
114 kmp_nm_static_chunked =
115 (kmp_sch_static_chunked - kmp_sch_lower + kmp_nm_lower),
117 kmp_nm_dynamic_chunked = 163,
118 kmp_nm_guided_chunked = 164,
119 kmp_nm_runtime = 165,
121 kmp_nm_trapezoidal = 167,
124 kmp_nm_static_greedy = 168,
125 kmp_nm_static_balanced = 169,
127 kmp_nm_guided_iterative_chunked = 170,
128 kmp_nm_guided_analytical_chunked = 171,
129 kmp_nm_static_steal =
132 kmp_nm_ord_static_chunked = 193,
133 kmp_nm_ord_static = 194,
134 kmp_nm_ord_dynamic_chunked = 195,
135 kmp_nm_ord_guided_chunked = 196,
136 kmp_nm_ord_runtime = 197,
137 kmp_nm_ord_auto = 198,
138 kmp_nm_ord_trapezoidal = 199,
155 kmp_sch_modifier_monotonic =
157 kmp_sch_modifier_nonmonotonic =
160#define SCHEDULE_WITHOUT_MODIFIERS(s) \
162 (s) & ~(kmp_sch_modifier_nonmonotonic | kmp_sch_modifier_monotonic))
163#define SCHEDULE_HAS_MONOTONIC(s) (((s)&kmp_sch_modifier_monotonic) != 0)
164#define SCHEDULE_HAS_NONMONOTONIC(s) (((s)&kmp_sch_modifier_nonmonotonic) != 0)
165#define SCHEDULE_HAS_NO_MODIFIERS(s) \
166 (((s) & (kmp_sch_modifier_nonmonotonic | kmp_sch_modifier_monotonic)) == 0)
167#define SCHEDULE_GET_MODIFIERS(s) \
168 ((enum sched_type)( \
169 (s) & (kmp_sch_modifier_nonmonotonic | kmp_sch_modifier_monotonic)))
170#define SCHEDULE_SET_MODIFIERS(s, m) \
171 (s = (enum sched_type)((kmp_int32)s | (kmp_int32)m))
172#define SCHEDULE_NONMONOTONIC 0
173#define SCHEDULE_MONOTONIC 1
175 kmp_sch_default = kmp_sch_static
178typedef void (*kmpc_micro)(kmp_int32 *global_tid, kmp_int32 *bound_tid, ...);
184extern _kmp_ptr32 *kmpc_args;
Definition interface.h:28
char const * psource
Definition interface.h:35
kmp_int32 reserved_1
Definition interface.h:29
kmp_int32 reserved_2
Definition interface.h:33
kmp_int32 reserved_3
Definition interface.h:34
kmp_int32 flags
Definition interface.h:30