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_irml_version;
75 __cilkrts_leave_frame;
78 __cilkrts_return_exception;
82 __cilkrts_worker_stub;
89 __cilkrts_bind_thread_1;
90 __cilkrts_bump_loop_rank;
91 __cilkrts_bump_loop_rank_internal;
92 __cilkrts_bump_worker_rank;
93 __cilkrts_bump_worker_rank_internal;
94 __cilkrts_enter_frame_1;
95 __cilkrts_enter_frame_fast_1;
96 __cilkrts_get_pedigree_info;
97 __cilkrts_get_pedigree_internal;
99 __cilkrts_get_stack_size;
100 __cilkrts_get_worker_rank;
102 __cilkrts_save_fp_ctrl_state;
103 __cilkrts_stack_alloc;
104 __cilkrts_stack_free;
106 __cilkrts_watch_stack;
112 cilk_c_reducer_max_identity_char;
113 cilk_c_reducer_max_identity_double;
114 cilk_c_reducer_max_identity_float;
115 cilk_c_reducer_max_identity_int;
116 cilk_c_reducer_max_identity_long;
117 cilk_c_reducer_max_identity_longdouble;
118 cilk_c_reducer_max_identity_longlong;
119 cilk_c_reducer_max_identity_schar;
120 cilk_c_reducer_max_identity_short;
121 cilk_c_reducer_max_identity_uchar;
122 cilk_c_reducer_max_identity_uint;
123 cilk_c_reducer_max_identity_ulong;
124 cilk_c_reducer_max_identity_ulonglong;
125 cilk_c_reducer_max_identity_unsigned;
126 cilk_c_reducer_max_identity_ushort;
127 cilk_c_reducer_max_identity_wchar_t;
128 cilk_c_reducer_max_index_identity_char;
129 cilk_c_reducer_max_index_identity_double;
130 cilk_c_reducer_max_index_identity_float;
131 cilk_c_reducer_max_index_identity_int;
132 cilk_c_reducer_max_index_identity_long;
133 cilk_c_reducer_max_index_identity_longdouble;
134 cilk_c_reducer_max_index_identity_longlong;
135 cilk_c_reducer_max_index_identity_schar;
136 cilk_c_reducer_max_index_identity_short;
137 cilk_c_reducer_max_index_identity_uchar;
138 cilk_c_reducer_max_index_identity_uint;
139 cilk_c_reducer_max_index_identity_ulong;
140 cilk_c_reducer_max_index_identity_ulonglong;
141 cilk_c_reducer_max_index_identity_unsigned;
142 cilk_c_reducer_max_index_identity_ushort;
143 cilk_c_reducer_max_index_identity_wchar_t;
144 cilk_c_reducer_max_index_reduce_char;
145 cilk_c_reducer_max_index_reduce_double;
146 cilk_c_reducer_max_index_reduce_float;
147 cilk_c_reducer_max_index_reduce_int;
148 cilk_c_reducer_max_index_reduce_long;
149 cilk_c_reducer_max_index_reduce_longdouble;
150 cilk_c_reducer_max_index_reduce_longlong;
151 cilk_c_reducer_max_index_reduce_schar;
152 cilk_c_reducer_max_index_reduce_short;
153 cilk_c_reducer_max_index_reduce_uchar;
154 cilk_c_reducer_max_index_reduce_uint;
155 cilk_c_reducer_max_index_reduce_ulong;
156 cilk_c_reducer_max_index_reduce_ulonglong;
157 cilk_c_reducer_max_index_reduce_unsigned;
158 cilk_c_reducer_max_index_reduce_ushort;
159 cilk_c_reducer_max_index_reduce_wchar_t;
160 cilk_c_reducer_max_reduce_char;
161 cilk_c_reducer_max_reduce_double;
162 cilk_c_reducer_max_reduce_float;
163 cilk_c_reducer_max_reduce_int;
164 cilk_c_reducer_max_reduce_long;
165 cilk_c_reducer_max_reduce_longdouble;
166 cilk_c_reducer_max_reduce_longlong;
167 cilk_c_reducer_max_reduce_schar;
168 cilk_c_reducer_max_reduce_short;
169 cilk_c_reducer_max_reduce_uchar;
170 cilk_c_reducer_max_reduce_uint;
171 cilk_c_reducer_max_reduce_ulong;
172 cilk_c_reducer_max_reduce_ulonglong;
173 cilk_c_reducer_max_reduce_unsigned;
174 cilk_c_reducer_max_reduce_ushort;
175 cilk_c_reducer_max_reduce_wchar_t;
176 cilk_c_reducer_min_identity_char;
177 cilk_c_reducer_min_identity_double;
178 cilk_c_reducer_min_identity_float;
179 cilk_c_reducer_min_identity_int;
180 cilk_c_reducer_min_identity_long;
181 cilk_c_reducer_min_identity_longdouble;
182 cilk_c_reducer_min_identity_longlong;
183 cilk_c_reducer_min_identity_schar;
184 cilk_c_reducer_min_identity_short;
185 cilk_c_reducer_min_identity_uchar;
186 cilk_c_reducer_min_identity_uint;
187 cilk_c_reducer_min_identity_ulong;
188 cilk_c_reducer_min_identity_ulonglong;
189 cilk_c_reducer_min_identity_unsigned;
190 cilk_c_reducer_min_identity_ushort;
191 cilk_c_reducer_min_identity_wchar_t;
192 cilk_c_reducer_min_index_identity_char;
193 cilk_c_reducer_min_index_identity_double;
194 cilk_c_reducer_min_index_identity_float;
195 cilk_c_reducer_min_index_identity_int;
196 cilk_c_reducer_min_index_identity_long;
197 cilk_c_reducer_min_index_identity_longdouble;
198 cilk_c_reducer_min_index_identity_longlong;
199 cilk_c_reducer_min_index_identity_schar;
200 cilk_c_reducer_min_index_identity_short;
201 cilk_c_reducer_min_index_identity_uchar;
202 cilk_c_reducer_min_index_identity_uint;
203 cilk_c_reducer_min_index_identity_ulong;
204 cilk_c_reducer_min_index_identity_ulonglong;
205 cilk_c_reducer_min_index_identity_unsigned;
206 cilk_c_reducer_min_index_identity_ushort;
207 cilk_c_reducer_min_index_identity_wchar_t;
208 cilk_c_reducer_min_index_reduce_char;
209 cilk_c_reducer_min_index_reduce_double;
210 cilk_c_reducer_min_index_reduce_float;
211 cilk_c_reducer_min_index_reduce_int;
212 cilk_c_reducer_min_index_reduce_long;
213 cilk_c_reducer_min_index_reduce_longdouble;
214 cilk_c_reducer_min_index_reduce_longlong;
215 cilk_c_reducer_min_index_reduce_schar;
216 cilk_c_reducer_min_index_reduce_short;
217 cilk_c_reducer_min_index_reduce_uchar;
218 cilk_c_reducer_min_index_reduce_uint;
219 cilk_c_reducer_min_index_reduce_ulong;
220 cilk_c_reducer_min_index_reduce_ulonglong;
221 cilk_c_reducer_min_index_reduce_unsigned;
222 cilk_c_reducer_min_index_reduce_ushort;
223 cilk_c_reducer_min_index_reduce_wchar_t;
224 cilk_c_reducer_min_reduce_char;
225 cilk_c_reducer_min_reduce_double;
226 cilk_c_reducer_min_reduce_float;
227 cilk_c_reducer_min_reduce_int;
228 cilk_c_reducer_min_reduce_long;
229 cilk_c_reducer_min_reduce_longdouble;
230 cilk_c_reducer_min_reduce_longlong;
231 cilk_c_reducer_min_reduce_schar;
232 cilk_c_reducer_min_reduce_short;
233 cilk_c_reducer_min_reduce_uchar;
234 cilk_c_reducer_min_reduce_uint;
235 cilk_c_reducer_min_reduce_ulong;
236 cilk_c_reducer_min_reduce_ulonglong;
237 cilk_c_reducer_min_reduce_unsigned;
238 cilk_c_reducer_min_reduce_ushort;
239 cilk_c_reducer_min_reduce_wchar_t;
240 cilk_c_reducer_opadd_identity_char;
241 cilk_c_reducer_opadd_identity_double;
242 cilk_c_reducer_opadd_identity_float;
243 cilk_c_reducer_opadd_identity_int;
244 cilk_c_reducer_opadd_identity_long;
245 cilk_c_reducer_opadd_identity_longdouble;
246 cilk_c_reducer_opadd_identity_longlong;
247 cilk_c_reducer_opadd_identity_schar;
248 cilk_c_reducer_opadd_identity_short;
249 cilk_c_reducer_opadd_identity_uchar;
250 cilk_c_reducer_opadd_identity_uint;
251 cilk_c_reducer_opadd_identity_ulong;
252 cilk_c_reducer_opadd_identity_ulonglong;
253 cilk_c_reducer_opadd_identity_unsigned;
254 cilk_c_reducer_opadd_identity_ushort;
255 cilk_c_reducer_opadd_identity_wchar_t;
256 cilk_c_reducer_opadd_reduce_char;
257 cilk_c_reducer_opadd_reduce_double;
258 cilk_c_reducer_opadd_reduce_float;
259 cilk_c_reducer_opadd_reduce_int;
260 cilk_c_reducer_opadd_reduce_long;
261 cilk_c_reducer_opadd_reduce_longdouble;
262 cilk_c_reducer_opadd_reduce_longlong;
263 cilk_c_reducer_opadd_reduce_schar;
264 cilk_c_reducer_opadd_reduce_short;
265 cilk_c_reducer_opadd_reduce_uchar;
266 cilk_c_reducer_opadd_reduce_uint;
267 cilk_c_reducer_opadd_reduce_ulong;
268 cilk_c_reducer_opadd_reduce_ulonglong;
269 cilk_c_reducer_opadd_reduce_unsigned;
270 cilk_c_reducer_opadd_reduce_ushort;
271 cilk_c_reducer_opadd_reduce_wchar_t;
272 cilk_c_reducer_opand_identity_char;
273 cilk_c_reducer_opand_identity_int;
274 cilk_c_reducer_opand_identity_long;
275 cilk_c_reducer_opand_identity_longlong;
276 cilk_c_reducer_opand_identity_schar;
277 cilk_c_reducer_opand_identity_short;
278 cilk_c_reducer_opand_identity_uchar;
279 cilk_c_reducer_opand_identity_uint;
280 cilk_c_reducer_opand_identity_ulong;
281 cilk_c_reducer_opand_identity_ulonglong;
282 cilk_c_reducer_opand_identity_unsigned;
283 cilk_c_reducer_opand_identity_ushort;
284 cilk_c_reducer_opand_identity_wchar_t;
285 cilk_c_reducer_opand_reduce_char;
286 cilk_c_reducer_opand_reduce_int;
287 cilk_c_reducer_opand_reduce_long;
288 cilk_c_reducer_opand_reduce_longlong;
289 cilk_c_reducer_opand_reduce_schar;
290 cilk_c_reducer_opand_reduce_short;
291 cilk_c_reducer_opand_reduce_uchar;
292 cilk_c_reducer_opand_reduce_uint;
293 cilk_c_reducer_opand_reduce_ulong;
294 cilk_c_reducer_opand_reduce_ulonglong;
295 cilk_c_reducer_opand_reduce_unsigned;
296 cilk_c_reducer_opand_reduce_ushort;
297 cilk_c_reducer_opand_reduce_wchar_t;
298 cilk_c_reducer_opmul_identity_char;
299 cilk_c_reducer_opmul_identity_double;
300 cilk_c_reducer_opmul_identity_float;
301 cilk_c_reducer_opmul_identity_int;
302 cilk_c_reducer_opmul_identity_long;
303 cilk_c_reducer_opmul_identity_longdouble;
304 cilk_c_reducer_opmul_identity_longlong;
305 cilk_c_reducer_opmul_identity_schar;
306 cilk_c_reducer_opmul_identity_short;
307 cilk_c_reducer_opmul_identity_uchar;
308 cilk_c_reducer_opmul_identity_uint;
309 cilk_c_reducer_opmul_identity_ulong;
310 cilk_c_reducer_opmul_identity_ulonglong;
311 cilk_c_reducer_opmul_identity_unsigned;
312 cilk_c_reducer_opmul_identity_ushort;
313 cilk_c_reducer_opmul_identity_wchar_t;
314 cilk_c_reducer_opmul_reduce_char;
315 cilk_c_reducer_opmul_reduce_double;
316 cilk_c_reducer_opmul_reduce_float;
317 cilk_c_reducer_opmul_reduce_int;
318 cilk_c_reducer_opmul_reduce_long;
319 cilk_c_reducer_opmul_reduce_longdouble;
320 cilk_c_reducer_opmul_reduce_longlong;
321 cilk_c_reducer_opmul_reduce_schar;
322 cilk_c_reducer_opmul_reduce_short;
323 cilk_c_reducer_opmul_reduce_uchar;
324 cilk_c_reducer_opmul_reduce_uint;
325 cilk_c_reducer_opmul_reduce_ulong;
326 cilk_c_reducer_opmul_reduce_ulonglong;
327 cilk_c_reducer_opmul_reduce_unsigned;
328 cilk_c_reducer_opmul_reduce_ushort;
329 cilk_c_reducer_opmul_reduce_wchar_t;
330 cilk_c_reducer_opor_identity_char;
331 cilk_c_reducer_opor_identity_int;
332 cilk_c_reducer_opor_identity_long;
333 cilk_c_reducer_opor_identity_longlong;
334 cilk_c_reducer_opor_identity_schar;
335 cilk_c_reducer_opor_identity_short;
336 cilk_c_reducer_opor_identity_uchar;
337 cilk_c_reducer_opor_identity_uint;
338 cilk_c_reducer_opor_identity_ulong;
339 cilk_c_reducer_opor_identity_ulonglong;
340 cilk_c_reducer_opor_identity_unsigned;
341 cilk_c_reducer_opor_identity_ushort;
342 cilk_c_reducer_opor_identity_wchar_t;
343 cilk_c_reducer_opor_reduce_char;
344 cilk_c_reducer_opor_reduce_int;
345 cilk_c_reducer_opor_reduce_long;
346 cilk_c_reducer_opor_reduce_longlong;
347 cilk_c_reducer_opor_reduce_schar;
348 cilk_c_reducer_opor_reduce_short;
349 cilk_c_reducer_opor_reduce_uchar;
350 cilk_c_reducer_opor_reduce_uint;
351 cilk_c_reducer_opor_reduce_ulong;
352 cilk_c_reducer_opor_reduce_ulonglong;
353 cilk_c_reducer_opor_reduce_unsigned;
354 cilk_c_reducer_opor_reduce_ushort;
355 cilk_c_reducer_opor_reduce_wchar_t;
356 cilk_c_reducer_opxor_identity_char;
357 cilk_c_reducer_opxor_identity_int;
358 cilk_c_reducer_opxor_identity_long;
359 cilk_c_reducer_opxor_identity_longlong;
360 cilk_c_reducer_opxor_identity_schar;
361 cilk_c_reducer_opxor_identity_short;
362 cilk_c_reducer_opxor_identity_uchar;
363 cilk_c_reducer_opxor_identity_uint;
364 cilk_c_reducer_opxor_identity_ulong;
365 cilk_c_reducer_opxor_identity_ulonglong;
366 cilk_c_reducer_opxor_identity_unsigned;
367 cilk_c_reducer_opxor_identity_ushort;
368 cilk_c_reducer_opxor_identity_wchar_t;
369 cilk_c_reducer_opxor_reduce_char;
370 cilk_c_reducer_opxor_reduce_int;
371 cilk_c_reducer_opxor_reduce_long;
372 cilk_c_reducer_opxor_reduce_longlong;
373 cilk_c_reducer_opxor_reduce_schar;
374 cilk_c_reducer_opxor_reduce_short;
375 cilk_c_reducer_opxor_reduce_uchar;
376 cilk_c_reducer_opxor_reduce_uint;
377 cilk_c_reducer_opxor_reduce_ulong;
378 cilk_c_reducer_opxor_reduce_ulonglong;
379 cilk_c_reducer_opxor_reduce_unsigned;
380 cilk_c_reducer_opxor_reduce_ushort;
381 cilk_c_reducer_opxor_reduce_wchar_t;