2 *************************************************************************
4 * Copyright (C) 2009-2016, Intel Corporation
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
11 * * Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * * Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in
15 * the documentation and/or other materials provided with the
17 * * Neither the name of Intel Corporation nor the names of its
18 * contributors may be used to endorse or promote products derived
19 * from this software without specific prior written permission.
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
28 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
29 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
31 * WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 * POSSIBILITY OF SUCH DAMAGE.
34 * *********************************************************************
36 * PLEASE NOTE: This file is a downstream copy of a file mainitained in
37 * a repository at cilkplus.org. Changes made to this file that are not
38 * submitted through the contribution process detailed at
39 * http://www.cilkplus.org/submit-cilk-contribution will be lost the next
40 * time that a new version is released. Changes only submitted to the
41 * GNU compiler collection or posted to the git repository at
42 * https://bitbucket.org/intelcilkruntime/intel-cilk-runtime.git are
45 * We welcome your contributions to this open source project. Thank you
46 * for your assistance in helping us improve Cilk Plus.
47 **************************************************************************/
52 __cilkrts_bind_thread;
53 __cilkrts_cilk_for_32;
54 __cilkrts_cilk_for_64;
55 __cilkrts_debugger_notification;
58 __cilkrts_enter_frame;
59 __cilkrts_enter_frame_fast;
60 __cilkrts_get_force_reduce;
61 __cilkrts_get_nworkers;
62 __cilkrts_get_tls_worker;
63 __cilkrts_get_tls_worker_fast;
64 __cilkrts_get_total_workers;
65 __cilkrts_get_worker_number;
66 __cilkrts_global_state;
67 __cilkrts_hyper_create;
68 __cilkrts_hyper_destroy;
69 __cilkrts_hyper_lookup;
70 __cilkrts_hyperobject_alloc;
71 __cilkrts_hyperobject_dealloc;
72 __cilkrts_hyperobject_noop_destroy;
74 __cilkrts_leave_frame;
77 __cilkrts_return_exception;
81 __cilkrts_worker_stub;
88 __cilkrts_bind_thread_1;
89 __cilkrts_bump_loop_rank;
90 __cilkrts_bump_loop_rank_internal;
91 __cilkrts_bump_worker_rank;
92 __cilkrts_bump_worker_rank_internal;
93 __cilkrts_enter_frame_1;
94 __cilkrts_enter_frame_fast_1;
95 __cilkrts_get_pedigree_info;
96 __cilkrts_get_pedigree_internal;
98 __cilkrts_get_stack_size;
99 __cilkrts_get_worker_rank;
101 __cilkrts_save_fp_ctrl_state;
102 __cilkrts_stack_alloc;
103 __cilkrts_stack_free;
105 __cilkrts_watch_stack;
111 cilk_c_reducer_max_identity_char;
112 cilk_c_reducer_max_identity_double;
113 cilk_c_reducer_max_identity_float;
114 cilk_c_reducer_max_identity_int;
115 cilk_c_reducer_max_identity_long;
116 cilk_c_reducer_max_identity_longdouble;
117 cilk_c_reducer_max_identity_longlong;
118 cilk_c_reducer_max_identity_schar;
119 cilk_c_reducer_max_identity_short;
120 cilk_c_reducer_max_identity_uchar;
121 cilk_c_reducer_max_identity_uint;
122 cilk_c_reducer_max_identity_ulong;
123 cilk_c_reducer_max_identity_ulonglong;
124 cilk_c_reducer_max_identity_unsigned;
125 cilk_c_reducer_max_identity_ushort;
126 cilk_c_reducer_max_identity_wchar_t;
127 cilk_c_reducer_max_index_identity_char;
128 cilk_c_reducer_max_index_identity_double;
129 cilk_c_reducer_max_index_identity_float;
130 cilk_c_reducer_max_index_identity_int;
131 cilk_c_reducer_max_index_identity_long;
132 cilk_c_reducer_max_index_identity_longdouble;
133 cilk_c_reducer_max_index_identity_longlong;
134 cilk_c_reducer_max_index_identity_schar;
135 cilk_c_reducer_max_index_identity_short;
136 cilk_c_reducer_max_index_identity_uchar;
137 cilk_c_reducer_max_index_identity_uint;
138 cilk_c_reducer_max_index_identity_ulong;
139 cilk_c_reducer_max_index_identity_ulonglong;
140 cilk_c_reducer_max_index_identity_unsigned;
141 cilk_c_reducer_max_index_identity_ushort;
142 cilk_c_reducer_max_index_identity_wchar_t;
143 cilk_c_reducer_max_index_reduce_char;
144 cilk_c_reducer_max_index_reduce_double;
145 cilk_c_reducer_max_index_reduce_float;
146 cilk_c_reducer_max_index_reduce_int;
147 cilk_c_reducer_max_index_reduce_long;
148 cilk_c_reducer_max_index_reduce_longdouble;
149 cilk_c_reducer_max_index_reduce_longlong;
150 cilk_c_reducer_max_index_reduce_schar;
151 cilk_c_reducer_max_index_reduce_short;
152 cilk_c_reducer_max_index_reduce_uchar;
153 cilk_c_reducer_max_index_reduce_uint;
154 cilk_c_reducer_max_index_reduce_ulong;
155 cilk_c_reducer_max_index_reduce_ulonglong;
156 cilk_c_reducer_max_index_reduce_unsigned;
157 cilk_c_reducer_max_index_reduce_ushort;
158 cilk_c_reducer_max_index_reduce_wchar_t;
159 cilk_c_reducer_max_reduce_char;
160 cilk_c_reducer_max_reduce_double;
161 cilk_c_reducer_max_reduce_float;
162 cilk_c_reducer_max_reduce_int;
163 cilk_c_reducer_max_reduce_long;
164 cilk_c_reducer_max_reduce_longdouble;
165 cilk_c_reducer_max_reduce_longlong;
166 cilk_c_reducer_max_reduce_schar;
167 cilk_c_reducer_max_reduce_short;
168 cilk_c_reducer_max_reduce_uchar;
169 cilk_c_reducer_max_reduce_uint;
170 cilk_c_reducer_max_reduce_ulong;
171 cilk_c_reducer_max_reduce_ulonglong;
172 cilk_c_reducer_max_reduce_unsigned;
173 cilk_c_reducer_max_reduce_ushort;
174 cilk_c_reducer_max_reduce_wchar_t;
175 cilk_c_reducer_min_identity_char;
176 cilk_c_reducer_min_identity_double;
177 cilk_c_reducer_min_identity_float;
178 cilk_c_reducer_min_identity_int;
179 cilk_c_reducer_min_identity_long;
180 cilk_c_reducer_min_identity_longdouble;
181 cilk_c_reducer_min_identity_longlong;
182 cilk_c_reducer_min_identity_schar;
183 cilk_c_reducer_min_identity_short;
184 cilk_c_reducer_min_identity_uchar;
185 cilk_c_reducer_min_identity_uint;
186 cilk_c_reducer_min_identity_ulong;
187 cilk_c_reducer_min_identity_ulonglong;
188 cilk_c_reducer_min_identity_unsigned;
189 cilk_c_reducer_min_identity_ushort;
190 cilk_c_reducer_min_identity_wchar_t;
191 cilk_c_reducer_min_index_identity_char;
192 cilk_c_reducer_min_index_identity_double;
193 cilk_c_reducer_min_index_identity_float;
194 cilk_c_reducer_min_index_identity_int;
195 cilk_c_reducer_min_index_identity_long;
196 cilk_c_reducer_min_index_identity_longdouble;
197 cilk_c_reducer_min_index_identity_longlong;
198 cilk_c_reducer_min_index_identity_schar;
199 cilk_c_reducer_min_index_identity_short;
200 cilk_c_reducer_min_index_identity_uchar;
201 cilk_c_reducer_min_index_identity_uint;
202 cilk_c_reducer_min_index_identity_ulong;
203 cilk_c_reducer_min_index_identity_ulonglong;
204 cilk_c_reducer_min_index_identity_unsigned;
205 cilk_c_reducer_min_index_identity_ushort;
206 cilk_c_reducer_min_index_identity_wchar_t;
207 cilk_c_reducer_min_index_reduce_char;
208 cilk_c_reducer_min_index_reduce_double;
209 cilk_c_reducer_min_index_reduce_float;
210 cilk_c_reducer_min_index_reduce_int;
211 cilk_c_reducer_min_index_reduce_long;
212 cilk_c_reducer_min_index_reduce_longdouble;
213 cilk_c_reducer_min_index_reduce_longlong;
214 cilk_c_reducer_min_index_reduce_schar;
215 cilk_c_reducer_min_index_reduce_short;
216 cilk_c_reducer_min_index_reduce_uchar;
217 cilk_c_reducer_min_index_reduce_uint;
218 cilk_c_reducer_min_index_reduce_ulong;
219 cilk_c_reducer_min_index_reduce_ulonglong;
220 cilk_c_reducer_min_index_reduce_unsigned;
221 cilk_c_reducer_min_index_reduce_ushort;
222 cilk_c_reducer_min_index_reduce_wchar_t;
223 cilk_c_reducer_min_reduce_char;
224 cilk_c_reducer_min_reduce_double;
225 cilk_c_reducer_min_reduce_float;
226 cilk_c_reducer_min_reduce_int;
227 cilk_c_reducer_min_reduce_long;
228 cilk_c_reducer_min_reduce_longdouble;
229 cilk_c_reducer_min_reduce_longlong;
230 cilk_c_reducer_min_reduce_schar;
231 cilk_c_reducer_min_reduce_short;
232 cilk_c_reducer_min_reduce_uchar;
233 cilk_c_reducer_min_reduce_uint;
234 cilk_c_reducer_min_reduce_ulong;
235 cilk_c_reducer_min_reduce_ulonglong;
236 cilk_c_reducer_min_reduce_unsigned;
237 cilk_c_reducer_min_reduce_ushort;
238 cilk_c_reducer_min_reduce_wchar_t;
239 cilk_c_reducer_opadd_identity_char;
240 cilk_c_reducer_opadd_identity_double;
241 cilk_c_reducer_opadd_identity_float;
242 cilk_c_reducer_opadd_identity_int;
243 cilk_c_reducer_opadd_identity_long;
244 cilk_c_reducer_opadd_identity_longdouble;
245 cilk_c_reducer_opadd_identity_longlong;
246 cilk_c_reducer_opadd_identity_schar;
247 cilk_c_reducer_opadd_identity_short;
248 cilk_c_reducer_opadd_identity_uchar;
249 cilk_c_reducer_opadd_identity_uint;
250 cilk_c_reducer_opadd_identity_ulong;
251 cilk_c_reducer_opadd_identity_ulonglong;
252 cilk_c_reducer_opadd_identity_unsigned;
253 cilk_c_reducer_opadd_identity_ushort;
254 cilk_c_reducer_opadd_identity_wchar_t;
255 cilk_c_reducer_opadd_reduce_char;
256 cilk_c_reducer_opadd_reduce_double;
257 cilk_c_reducer_opadd_reduce_float;
258 cilk_c_reducer_opadd_reduce_int;
259 cilk_c_reducer_opadd_reduce_long;
260 cilk_c_reducer_opadd_reduce_longdouble;
261 cilk_c_reducer_opadd_reduce_longlong;
262 cilk_c_reducer_opadd_reduce_schar;
263 cilk_c_reducer_opadd_reduce_short;
264 cilk_c_reducer_opadd_reduce_uchar;
265 cilk_c_reducer_opadd_reduce_uint;
266 cilk_c_reducer_opadd_reduce_ulong;
267 cilk_c_reducer_opadd_reduce_ulonglong;
268 cilk_c_reducer_opadd_reduce_unsigned;
269 cilk_c_reducer_opadd_reduce_ushort;
270 cilk_c_reducer_opadd_reduce_wchar_t;
271 cilk_c_reducer_opand_identity_char;
272 cilk_c_reducer_opand_identity_int;
273 cilk_c_reducer_opand_identity_long;
274 cilk_c_reducer_opand_identity_longlong;
275 cilk_c_reducer_opand_identity_schar;
276 cilk_c_reducer_opand_identity_short;
277 cilk_c_reducer_opand_identity_uchar;
278 cilk_c_reducer_opand_identity_uint;
279 cilk_c_reducer_opand_identity_ulong;
280 cilk_c_reducer_opand_identity_ulonglong;
281 cilk_c_reducer_opand_identity_unsigned;
282 cilk_c_reducer_opand_identity_ushort;
283 cilk_c_reducer_opand_identity_wchar_t;
284 cilk_c_reducer_opand_reduce_char;
285 cilk_c_reducer_opand_reduce_int;
286 cilk_c_reducer_opand_reduce_long;
287 cilk_c_reducer_opand_reduce_longlong;
288 cilk_c_reducer_opand_reduce_schar;
289 cilk_c_reducer_opand_reduce_short;
290 cilk_c_reducer_opand_reduce_uchar;
291 cilk_c_reducer_opand_reduce_uint;
292 cilk_c_reducer_opand_reduce_ulong;
293 cilk_c_reducer_opand_reduce_ulonglong;
294 cilk_c_reducer_opand_reduce_unsigned;
295 cilk_c_reducer_opand_reduce_ushort;
296 cilk_c_reducer_opand_reduce_wchar_t;
297 cilk_c_reducer_opmul_identity_char;
298 cilk_c_reducer_opmul_identity_double;
299 cilk_c_reducer_opmul_identity_float;
300 cilk_c_reducer_opmul_identity_int;
301 cilk_c_reducer_opmul_identity_long;
302 cilk_c_reducer_opmul_identity_longdouble;
303 cilk_c_reducer_opmul_identity_longlong;
304 cilk_c_reducer_opmul_identity_schar;
305 cilk_c_reducer_opmul_identity_short;
306 cilk_c_reducer_opmul_identity_uchar;
307 cilk_c_reducer_opmul_identity_uint;
308 cilk_c_reducer_opmul_identity_ulong;
309 cilk_c_reducer_opmul_identity_ulonglong;
310 cilk_c_reducer_opmul_identity_unsigned;
311 cilk_c_reducer_opmul_identity_ushort;
312 cilk_c_reducer_opmul_identity_wchar_t;
313 cilk_c_reducer_opmul_reduce_char;
314 cilk_c_reducer_opmul_reduce_double;
315 cilk_c_reducer_opmul_reduce_float;
316 cilk_c_reducer_opmul_reduce_int;
317 cilk_c_reducer_opmul_reduce_long;
318 cilk_c_reducer_opmul_reduce_longdouble;
319 cilk_c_reducer_opmul_reduce_longlong;
320 cilk_c_reducer_opmul_reduce_schar;
321 cilk_c_reducer_opmul_reduce_short;
322 cilk_c_reducer_opmul_reduce_uchar;
323 cilk_c_reducer_opmul_reduce_uint;
324 cilk_c_reducer_opmul_reduce_ulong;
325 cilk_c_reducer_opmul_reduce_ulonglong;
326 cilk_c_reducer_opmul_reduce_unsigned;
327 cilk_c_reducer_opmul_reduce_ushort;
328 cilk_c_reducer_opmul_reduce_wchar_t;
329 cilk_c_reducer_opor_identity_char;
330 cilk_c_reducer_opor_identity_int;
331 cilk_c_reducer_opor_identity_long;
332 cilk_c_reducer_opor_identity_longlong;
333 cilk_c_reducer_opor_identity_schar;
334 cilk_c_reducer_opor_identity_short;
335 cilk_c_reducer_opor_identity_uchar;
336 cilk_c_reducer_opor_identity_uint;
337 cilk_c_reducer_opor_identity_ulong;
338 cilk_c_reducer_opor_identity_ulonglong;
339 cilk_c_reducer_opor_identity_unsigned;
340 cilk_c_reducer_opor_identity_ushort;
341 cilk_c_reducer_opor_identity_wchar_t;
342 cilk_c_reducer_opor_reduce_char;
343 cilk_c_reducer_opor_reduce_int;
344 cilk_c_reducer_opor_reduce_long;
345 cilk_c_reducer_opor_reduce_longlong;
346 cilk_c_reducer_opor_reduce_schar;
347 cilk_c_reducer_opor_reduce_short;
348 cilk_c_reducer_opor_reduce_uchar;
349 cilk_c_reducer_opor_reduce_uint;
350 cilk_c_reducer_opor_reduce_ulong;
351 cilk_c_reducer_opor_reduce_ulonglong;
352 cilk_c_reducer_opor_reduce_unsigned;
353 cilk_c_reducer_opor_reduce_ushort;
354 cilk_c_reducer_opor_reduce_wchar_t;
355 cilk_c_reducer_opxor_identity_char;
356 cilk_c_reducer_opxor_identity_int;
357 cilk_c_reducer_opxor_identity_long;
358 cilk_c_reducer_opxor_identity_longlong;
359 cilk_c_reducer_opxor_identity_schar;
360 cilk_c_reducer_opxor_identity_short;
361 cilk_c_reducer_opxor_identity_uchar;
362 cilk_c_reducer_opxor_identity_uint;
363 cilk_c_reducer_opxor_identity_ulong;
364 cilk_c_reducer_opxor_identity_ulonglong;
365 cilk_c_reducer_opxor_identity_unsigned;
366 cilk_c_reducer_opxor_identity_ushort;
367 cilk_c_reducer_opxor_identity_wchar_t;
368 cilk_c_reducer_opxor_reduce_char;
369 cilk_c_reducer_opxor_reduce_int;
370 cilk_c_reducer_opxor_reduce_long;
371 cilk_c_reducer_opxor_reduce_longlong;
372 cilk_c_reducer_opxor_reduce_schar;
373 cilk_c_reducer_opxor_reduce_short;
374 cilk_c_reducer_opxor_reduce_uchar;
375 cilk_c_reducer_opxor_reduce_uint;
376 cilk_c_reducer_opxor_reduce_ulong;
377 cilk_c_reducer_opxor_reduce_ulonglong;
378 cilk_c_reducer_opxor_reduce_unsigned;
379 cilk_c_reducer_opxor_reduce_ushort;
380 cilk_c_reducer_opxor_reduce_wchar_t;