50 #if defined( __cplusplus ) && ( KMP_OS_WINDOWS )
53 #if (_MSC_VER < 1600) && defined(_DEBUG)
58 #define _DEBUG_TEMPORARILY_UNSET_
63 template<
typename type_lhs,
typename type_rhs >
64 std::complex< type_lhs > __kmp_lhs_div_rhs(
65 const std::complex< type_lhs >& lhs,
66 const std::complex< type_rhs >& rhs ) {
67 type_lhs a = lhs.real();
68 type_lhs b = lhs.imag();
69 type_rhs c = rhs.real();
70 type_rhs d = rhs.imag();
71 type_rhs den = c*c + d*d;
72 type_rhs r = ( a*c + b*d );
73 type_rhs i = ( b*c - a*d );
74 std::complex< type_lhs > ret( r/den, i/den );
79 struct __kmp_cmplx64_t : std::complex< double > {
81 __kmp_cmplx64_t() :
std::complex< double > () {}
83 __kmp_cmplx64_t(
const std::complex< double >& cd )
84 :
std::complex< double > ( cd ) {}
86 void operator /= (
const __kmp_cmplx64_t& rhs ) {
87 std::complex< double > lhs = *
this;
88 *
this = __kmp_lhs_div_rhs( lhs, rhs );
91 __kmp_cmplx64_t operator / (
const __kmp_cmplx64_t& rhs ) {
92 std::complex< double > lhs = *
this;
93 return __kmp_lhs_div_rhs( lhs, rhs );
97 typedef struct __kmp_cmplx64_t kmp_cmplx64;
100 struct __kmp_cmplx32_t : std::complex< float > {
102 __kmp_cmplx32_t() :
std::complex< float > () {}
104 __kmp_cmplx32_t(
const std::complex<float>& cf )
105 :
std::complex< float > ( cf ) {}
107 __kmp_cmplx32_t operator + (
const __kmp_cmplx32_t& b ) {
108 std::complex< float > lhs = *
this;
109 std::complex< float > rhs = b;
110 return ( lhs + rhs );
112 __kmp_cmplx32_t operator - (
const __kmp_cmplx32_t& b ) {
113 std::complex< float > lhs = *
this;
114 std::complex< float > rhs = b;
115 return ( lhs - rhs );
117 __kmp_cmplx32_t operator * (
const __kmp_cmplx32_t& b ) {
118 std::complex< float > lhs = *
this;
119 std::complex< float > rhs = b;
120 return ( lhs * rhs );
123 __kmp_cmplx32_t operator + (
const kmp_cmplx64& b ) {
124 kmp_cmplx64 t = kmp_cmplx64( *
this ) + b;
125 std::complex< double > d( t );
126 std::complex< float > f( d );
127 __kmp_cmplx32_t r( f );
130 __kmp_cmplx32_t operator - (
const kmp_cmplx64& b ) {
131 kmp_cmplx64 t = kmp_cmplx64( *
this ) - b;
132 std::complex< double > d( t );
133 std::complex< float > f( d );
134 __kmp_cmplx32_t r( f );
137 __kmp_cmplx32_t operator * (
const kmp_cmplx64& b ) {
138 kmp_cmplx64 t = kmp_cmplx64( *
this ) * b;
139 std::complex< double > d( t );
140 std::complex< float > f( d );
141 __kmp_cmplx32_t r( f );
145 void operator /= (
const __kmp_cmplx32_t& rhs ) {
146 std::complex< float > lhs = *
this;
147 *
this = __kmp_lhs_div_rhs( lhs, rhs );
150 __kmp_cmplx32_t operator / (
const __kmp_cmplx32_t& rhs ) {
151 std::complex< float > lhs = *
this;
152 return __kmp_lhs_div_rhs( lhs, rhs );
155 void operator /= (
const kmp_cmplx64& rhs ) {
156 std::complex< float > lhs = *
this;
157 *
this = __kmp_lhs_div_rhs( lhs, rhs );
160 __kmp_cmplx32_t operator / (
const kmp_cmplx64& rhs ) {
161 std::complex< float > lhs = *
this;
162 return __kmp_lhs_div_rhs( lhs, rhs );
165 typedef struct __kmp_cmplx32_t kmp_cmplx32;
168 struct KMP_DO_ALIGN( 16 ) __kmp_cmplx80_t : std::complex< long double > {
170 __kmp_cmplx80_t() :
std::complex< long double > () {}
172 __kmp_cmplx80_t(
const std::complex< long double >& cld )
173 :
std::complex< long double > ( cld ) {}
175 void operator /= (
const __kmp_cmplx80_t& rhs ) {
176 std::complex< long double > lhs = *
this;
177 *
this = __kmp_lhs_div_rhs( lhs, rhs );
180 __kmp_cmplx80_t operator / (
const __kmp_cmplx80_t& rhs ) {
181 std::complex< long double > lhs = *
this;
182 return __kmp_lhs_div_rhs( lhs, rhs );
186 typedef KMP_DO_ALIGN( 16 ) struct __kmp_cmplx80_t kmp_cmplx80;
190 struct __kmp_cmplx128_t : std::complex< _Quad > {
192 __kmp_cmplx128_t() :
std::complex< _Quad > () {}
194 __kmp_cmplx128_t(
const std::complex< _Quad >& cq )
195 :
std::complex< _Quad > ( cq ) {}
197 void operator /= (
const __kmp_cmplx128_t& rhs ) {
198 std::complex< _Quad > lhs = *
this;
199 *
this = __kmp_lhs_div_rhs( lhs, rhs );
202 __kmp_cmplx128_t operator / (
const __kmp_cmplx128_t& rhs ) {
203 std::complex< _Quad > lhs = *
this;
204 return __kmp_lhs_div_rhs( lhs, rhs );
208 typedef struct __kmp_cmplx128_t kmp_cmplx128;
211 #ifdef _DEBUG_TEMPORARILY_UNSET_
212 #undef _DEBUG_TEMPORARILY_UNSET_
219 typedef float _Complex kmp_cmplx32;
220 typedef double _Complex kmp_cmplx64;
221 typedef long double _Complex kmp_cmplx80;
223 typedef _Quad _Complex kmp_cmplx128;
231 #if KMP_ARCH_X86 && KMP_HAVE_QUAD
235 #pragma pack( push, 4 )
238 struct KMP_DO_ALIGN( 4 ) Quad_a4_t {
241 Quad_a4_t( ) : q( ) {}
242 Quad_a4_t(
const _Quad & cq ) : q ( cq ) {}
244 Quad_a4_t operator + (
const Quad_a4_t& b ) {
245 _Quad lhs = (*this).q;
247 return (Quad_a4_t)( lhs + rhs );
250 Quad_a4_t operator - (
const Quad_a4_t& b ) {
251 _Quad lhs = (*this).q;
253 return (Quad_a4_t)( lhs - rhs );
255 Quad_a4_t operator * (
const Quad_a4_t& b ) {
256 _Quad lhs = (*this).q;
258 return (Quad_a4_t)( lhs * rhs );
261 Quad_a4_t operator / (
const Quad_a4_t& b ) {
262 _Quad lhs = (*this).q;
264 return (Quad_a4_t)( lhs / rhs );
269 struct KMP_DO_ALIGN( 4 ) kmp_cmplx128_a4_t {
272 kmp_cmplx128_a4_t() : q () {}
274 kmp_cmplx128_a4_t(
const kmp_cmplx128 & c128 ) : q ( c128 ) {}
276 kmp_cmplx128_a4_t operator + (
const kmp_cmplx128_a4_t& b ) {
277 kmp_cmplx128 lhs = (*this).q;
278 kmp_cmplx128 rhs = b.q;
279 return (kmp_cmplx128_a4_t)( lhs + rhs );
281 kmp_cmplx128_a4_t operator - (
const kmp_cmplx128_a4_t& b ) {
282 kmp_cmplx128 lhs = (*this).q;
283 kmp_cmplx128 rhs = b.q;
284 return (kmp_cmplx128_a4_t)( lhs - rhs );
286 kmp_cmplx128_a4_t operator * (
const kmp_cmplx128_a4_t& b ) {
287 kmp_cmplx128 lhs = (*this).q;
288 kmp_cmplx128 rhs = b.q;
289 return (kmp_cmplx128_a4_t)( lhs * rhs );
292 kmp_cmplx128_a4_t operator / (
const kmp_cmplx128_a4_t& b ) {
293 kmp_cmplx128 lhs = (*this).q;
294 kmp_cmplx128 rhs = b.q;
295 return (kmp_cmplx128_a4_t)( lhs / rhs );
303 struct KMP_DO_ALIGN( 16 ) Quad_a16_t {
306 Quad_a16_t( ) : q( ) {}
307 Quad_a16_t(
const _Quad & cq ) : q ( cq ) {}
309 Quad_a16_t operator + (
const Quad_a16_t& b ) {
310 _Quad lhs = (*this).q;
312 return (Quad_a16_t)( lhs + rhs );
315 Quad_a16_t operator - (
const Quad_a16_t& b ) {
316 _Quad lhs = (*this).q;
318 return (Quad_a16_t)( lhs - rhs );
320 Quad_a16_t operator * (
const Quad_a16_t& b ) {
321 _Quad lhs = (*this).q;
323 return (Quad_a16_t)( lhs * rhs );
326 Quad_a16_t operator / (
const Quad_a16_t& b ) {
327 _Quad lhs = (*this).q;
329 return (Quad_a16_t)( lhs / rhs );
333 struct KMP_DO_ALIGN( 16 ) kmp_cmplx128_a16_t {
336 kmp_cmplx128_a16_t() : q () {}
338 kmp_cmplx128_a16_t(
const kmp_cmplx128 & c128 ) : q ( c128 ) {}
340 kmp_cmplx128_a16_t operator + (
const kmp_cmplx128_a16_t& b ) {
341 kmp_cmplx128 lhs = (*this).q;
342 kmp_cmplx128 rhs = b.q;
343 return (kmp_cmplx128_a16_t)( lhs + rhs );
345 kmp_cmplx128_a16_t operator - (
const kmp_cmplx128_a16_t& b ) {
346 kmp_cmplx128 lhs = (*this).q;
347 kmp_cmplx128 rhs = b.q;
348 return (kmp_cmplx128_a16_t)( lhs - rhs );
350 kmp_cmplx128_a16_t operator * (
const kmp_cmplx128_a16_t& b ) {
351 kmp_cmplx128 lhs = (*this).q;
352 kmp_cmplx128 rhs = b.q;
353 return (kmp_cmplx128_a16_t)( lhs * rhs );
356 kmp_cmplx128_a16_t operator / (
const kmp_cmplx128_a16_t& b ) {
357 kmp_cmplx128 lhs = (*this).q;
358 kmp_cmplx128 rhs = b.q;
359 return (kmp_cmplx128_a16_t)( lhs / rhs );
366 #define QUAD_LEGACY Quad_a4_t
367 #define CPLX128_LEG kmp_cmplx128_a4_t
369 #define QUAD_LEGACY _Quad
370 #define CPLX128_LEG kmp_cmplx128
377 extern int __kmp_atomic_mode;
383 typedef kmp_queuing_lock_t kmp_atomic_lock_t;
386 __kmp_acquire_atomic_lock( kmp_atomic_lock_t *lck, kmp_int32 gtid )
388 __kmp_acquire_queuing_lock( lck, gtid );
392 __kmp_test_atomic_lock( kmp_atomic_lock_t *lck, kmp_int32 gtid )
394 return __kmp_test_queuing_lock( lck, gtid );
398 __kmp_release_atomic_lock( kmp_atomic_lock_t *lck, kmp_int32 gtid )
400 __kmp_release_queuing_lock( lck, gtid );
404 __kmp_init_atomic_lock( kmp_atomic_lock_t *lck )
406 __kmp_init_queuing_lock( lck );
410 __kmp_destroy_atomic_lock( kmp_atomic_lock_t *lck )
412 __kmp_destroy_queuing_lock( lck );
417 extern kmp_atomic_lock_t __kmp_atomic_lock;
418 extern kmp_atomic_lock_t __kmp_atomic_lock_1i;
419 extern kmp_atomic_lock_t __kmp_atomic_lock_2i;
420 extern kmp_atomic_lock_t __kmp_atomic_lock_4i;
421 extern kmp_atomic_lock_t __kmp_atomic_lock_4r;
422 extern kmp_atomic_lock_t __kmp_atomic_lock_8i;
423 extern kmp_atomic_lock_t __kmp_atomic_lock_8r;
424 extern kmp_atomic_lock_t __kmp_atomic_lock_8c;
425 extern kmp_atomic_lock_t __kmp_atomic_lock_10r;
426 extern kmp_atomic_lock_t __kmp_atomic_lock_16r;
427 extern kmp_atomic_lock_t __kmp_atomic_lock_16c;
428 extern kmp_atomic_lock_t __kmp_atomic_lock_20c;
429 extern kmp_atomic_lock_t __kmp_atomic_lock_32c;
436 void __kmpc_atomic_fixed1_add(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
437 void __kmpc_atomic_fixed1_andb(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
438 void __kmpc_atomic_fixed1_div(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
439 void __kmpc_atomic_fixed1u_div(
ident_t *id_ref,
int gtid,
unsigned char * lhs,
unsigned char rhs );
440 void __kmpc_atomic_fixed1_mul(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
441 void __kmpc_atomic_fixed1_orb(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
442 void __kmpc_atomic_fixed1_shl(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
443 void __kmpc_atomic_fixed1_shr(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
444 void __kmpc_atomic_fixed1u_shr(
ident_t *id_ref,
int gtid,
unsigned char * lhs,
unsigned char rhs );
445 void __kmpc_atomic_fixed1_sub(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
446 void __kmpc_atomic_fixed1_xor(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
448 void __kmpc_atomic_fixed2_add(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
449 void __kmpc_atomic_fixed2_andb(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
450 void __kmpc_atomic_fixed2_div(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
451 void __kmpc_atomic_fixed2u_div(
ident_t *id_ref,
int gtid,
unsigned short * lhs,
unsigned short rhs );
452 void __kmpc_atomic_fixed2_mul(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
453 void __kmpc_atomic_fixed2_orb(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
454 void __kmpc_atomic_fixed2_shl(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
455 void __kmpc_atomic_fixed2_shr(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
456 void __kmpc_atomic_fixed2u_shr(
ident_t *id_ref,
int gtid,
unsigned short * lhs,
unsigned short rhs );
457 void __kmpc_atomic_fixed2_sub(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
458 void __kmpc_atomic_fixed2_xor(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
460 void __kmpc_atomic_fixed4_add(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
461 void __kmpc_atomic_fixed4_sub(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
463 void __kmpc_atomic_float4_add(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, kmp_real32 rhs );
464 void __kmpc_atomic_float4_sub(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, kmp_real32 rhs );
466 void __kmpc_atomic_fixed8_add(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
467 void __kmpc_atomic_fixed8_sub(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
469 void __kmpc_atomic_float8_add(
ident_t *id_ref,
int gtid, kmp_real64 * lhs, kmp_real64 rhs );
470 void __kmpc_atomic_float8_sub(
ident_t *id_ref,
int gtid, kmp_real64 * lhs, kmp_real64 rhs );
472 void __kmpc_atomic_fixed4_andb(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
473 void __kmpc_atomic_fixed4_div(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
474 void __kmpc_atomic_fixed4u_div(
ident_t *id_ref,
int gtid, kmp_uint32 * lhs, kmp_uint32 rhs );
475 void __kmpc_atomic_fixed4_mul(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
476 void __kmpc_atomic_fixed4_orb(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
477 void __kmpc_atomic_fixed4_shl(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
478 void __kmpc_atomic_fixed4_shr(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
479 void __kmpc_atomic_fixed4u_shr(
ident_t *id_ref,
int gtid, kmp_uint32 * lhs, kmp_uint32 rhs );
480 void __kmpc_atomic_fixed4_xor(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
482 void __kmpc_atomic_fixed8_andb(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
483 void __kmpc_atomic_fixed8_div(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
484 void __kmpc_atomic_fixed8u_div(
ident_t *id_ref,
int gtid, kmp_uint64 * lhs, kmp_uint64 rhs );
485 void __kmpc_atomic_fixed8_mul(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
486 void __kmpc_atomic_fixed8_orb(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
487 void __kmpc_atomic_fixed8_shl(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
488 void __kmpc_atomic_fixed8_shr(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
489 void __kmpc_atomic_fixed8u_shr(
ident_t *id_ref,
int gtid, kmp_uint64 * lhs, kmp_uint64 rhs );
490 void __kmpc_atomic_fixed8_xor(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
492 void __kmpc_atomic_float4_div(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, kmp_real32 rhs );
493 void __kmpc_atomic_float4_mul(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, kmp_real32 rhs );
495 void __kmpc_atomic_float8_div(
ident_t *id_ref,
int gtid, kmp_real64 * lhs, kmp_real64 rhs );
496 void __kmpc_atomic_float8_mul(
ident_t *id_ref,
int gtid, kmp_real64 * lhs, kmp_real64 rhs );
498 void __kmpc_atomic_fixed1_andl(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
499 void __kmpc_atomic_fixed1_orl(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
500 void __kmpc_atomic_fixed2_andl(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
501 void __kmpc_atomic_fixed2_orl(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
502 void __kmpc_atomic_fixed4_andl(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
503 void __kmpc_atomic_fixed4_orl(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
504 void __kmpc_atomic_fixed8_andl(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
505 void __kmpc_atomic_fixed8_orl(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
507 void __kmpc_atomic_fixed1_max(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
508 void __kmpc_atomic_fixed1_min(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
509 void __kmpc_atomic_fixed2_max(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
510 void __kmpc_atomic_fixed2_min(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
511 void __kmpc_atomic_fixed4_max(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
512 void __kmpc_atomic_fixed4_min(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
513 void __kmpc_atomic_fixed8_max(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
514 void __kmpc_atomic_fixed8_min(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
515 void __kmpc_atomic_float4_max(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, kmp_real32 rhs );
516 void __kmpc_atomic_float4_min(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, kmp_real32 rhs );
517 void __kmpc_atomic_float8_max(
ident_t *id_ref,
int gtid, kmp_real64 * lhs, kmp_real64 rhs );
518 void __kmpc_atomic_float8_min(
ident_t *id_ref,
int gtid, kmp_real64 * lhs, kmp_real64 rhs );
520 void __kmpc_atomic_float16_max(
ident_t *id_ref,
int gtid, QUAD_LEGACY * lhs, QUAD_LEGACY rhs );
521 void __kmpc_atomic_float16_min(
ident_t *id_ref,
int gtid, QUAD_LEGACY * lhs, QUAD_LEGACY rhs );
524 void __kmpc_atomic_float16_max_a16(
ident_t * id_ref,
int gtid, Quad_a16_t * lhs, Quad_a16_t rhs );
525 void __kmpc_atomic_float16_min_a16(
ident_t * id_ref,
int gtid, Quad_a16_t * lhs, Quad_a16_t rhs );
529 void __kmpc_atomic_fixed1_neqv(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
530 void __kmpc_atomic_fixed2_neqv(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
531 void __kmpc_atomic_fixed4_neqv(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
532 void __kmpc_atomic_fixed8_neqv(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
534 void __kmpc_atomic_fixed1_eqv(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
535 void __kmpc_atomic_fixed2_eqv(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
536 void __kmpc_atomic_fixed4_eqv(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
537 void __kmpc_atomic_fixed8_eqv(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
539 void __kmpc_atomic_float10_add(
ident_t *id_ref,
int gtid,
long double * lhs,
long double rhs );
540 void __kmpc_atomic_float10_sub(
ident_t *id_ref,
int gtid,
long double * lhs,
long double rhs );
541 void __kmpc_atomic_float10_mul(
ident_t *id_ref,
int gtid,
long double * lhs,
long double rhs );
542 void __kmpc_atomic_float10_div(
ident_t *id_ref,
int gtid,
long double * lhs,
long double rhs );
545 void __kmpc_atomic_float16_add(
ident_t *id_ref,
int gtid, QUAD_LEGACY * lhs, QUAD_LEGACY rhs );
546 void __kmpc_atomic_float16_sub(
ident_t *id_ref,
int gtid, QUAD_LEGACY * lhs, QUAD_LEGACY rhs );
547 void __kmpc_atomic_float16_mul(
ident_t *id_ref,
int gtid, QUAD_LEGACY * lhs, QUAD_LEGACY rhs );
548 void __kmpc_atomic_float16_div(
ident_t *id_ref,
int gtid, QUAD_LEGACY * lhs, QUAD_LEGACY rhs );
551 void __kmpc_atomic_float16_add_a16(
ident_t * id_ref,
int gtid, Quad_a16_t * lhs, Quad_a16_t rhs );
552 void __kmpc_atomic_float16_sub_a16(
ident_t * id_ref,
int gtid, Quad_a16_t * lhs, Quad_a16_t rhs );
553 void __kmpc_atomic_float16_mul_a16(
ident_t * id_ref,
int gtid, Quad_a16_t * lhs, Quad_a16_t rhs );
554 void __kmpc_atomic_float16_div_a16(
ident_t * id_ref,
int gtid, Quad_a16_t * lhs, Quad_a16_t rhs );
558 void __kmpc_atomic_cmplx4_add(
ident_t *id_ref,
int gtid, kmp_cmplx32 * lhs, kmp_cmplx32 rhs );
559 void __kmpc_atomic_cmplx4_sub(
ident_t *id_ref,
int gtid, kmp_cmplx32 * lhs, kmp_cmplx32 rhs );
560 void __kmpc_atomic_cmplx4_mul(
ident_t *id_ref,
int gtid, kmp_cmplx32 * lhs, kmp_cmplx32 rhs );
561 void __kmpc_atomic_cmplx4_div(
ident_t *id_ref,
int gtid, kmp_cmplx32 * lhs, kmp_cmplx32 rhs );
562 void __kmpc_atomic_cmplx8_add(
ident_t *id_ref,
int gtid, kmp_cmplx64 * lhs, kmp_cmplx64 rhs );
563 void __kmpc_atomic_cmplx8_sub(
ident_t *id_ref,
int gtid, kmp_cmplx64 * lhs, kmp_cmplx64 rhs );
564 void __kmpc_atomic_cmplx8_mul(
ident_t *id_ref,
int gtid, kmp_cmplx64 * lhs, kmp_cmplx64 rhs );
565 void __kmpc_atomic_cmplx8_div(
ident_t *id_ref,
int gtid, kmp_cmplx64 * lhs, kmp_cmplx64 rhs );
566 void __kmpc_atomic_cmplx10_add(
ident_t *id_ref,
int gtid, kmp_cmplx80 * lhs, kmp_cmplx80 rhs );
567 void __kmpc_atomic_cmplx10_sub(
ident_t *id_ref,
int gtid, kmp_cmplx80 * lhs, kmp_cmplx80 rhs );
568 void __kmpc_atomic_cmplx10_mul(
ident_t *id_ref,
int gtid, kmp_cmplx80 * lhs, kmp_cmplx80 rhs );
569 void __kmpc_atomic_cmplx10_div(
ident_t *id_ref,
int gtid, kmp_cmplx80 * lhs, kmp_cmplx80 rhs );
571 void __kmpc_atomic_cmplx16_add(
ident_t *id_ref,
int gtid, CPLX128_LEG * lhs, CPLX128_LEG rhs );
572 void __kmpc_atomic_cmplx16_sub(
ident_t *id_ref,
int gtid, CPLX128_LEG * lhs, CPLX128_LEG rhs );
573 void __kmpc_atomic_cmplx16_mul(
ident_t *id_ref,
int gtid, CPLX128_LEG * lhs, CPLX128_LEG rhs );
574 void __kmpc_atomic_cmplx16_div(
ident_t *id_ref,
int gtid, CPLX128_LEG * lhs, CPLX128_LEG rhs );
577 void __kmpc_atomic_cmplx16_add_a16(
ident_t * id_ref,
int gtid, kmp_cmplx128_a16_t * lhs, kmp_cmplx128_a16_t rhs );
578 void __kmpc_atomic_cmplx16_sub_a16(
ident_t * id_ref,
int gtid, kmp_cmplx128_a16_t * lhs, kmp_cmplx128_a16_t rhs );
579 void __kmpc_atomic_cmplx16_mul_a16(
ident_t * id_ref,
int gtid, kmp_cmplx128_a16_t * lhs, kmp_cmplx128_a16_t rhs );
580 void __kmpc_atomic_cmplx16_div_a16(
ident_t * id_ref,
int gtid, kmp_cmplx128_a16_t * lhs, kmp_cmplx128_a16_t rhs );
588 #if KMP_ARCH_X86 || KMP_ARCH_X86_64
590 void __kmpc_atomic_fixed1_sub_rev(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
591 void __kmpc_atomic_fixed1_div_rev(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
592 void __kmpc_atomic_fixed1u_div_rev(
ident_t *id_ref,
int gtid,
unsigned char * lhs,
unsigned char rhs );
593 void __kmpc_atomic_fixed1_shl_rev(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
594 void __kmpc_atomic_fixed1_shr_rev(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
595 void __kmpc_atomic_fixed1u_shr_rev(
ident_t *id_ref,
int gtid,
unsigned char * lhs,
unsigned char rhs );
596 void __kmpc_atomic_fixed2_sub_rev(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
597 void __kmpc_atomic_fixed2_div_rev(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
598 void __kmpc_atomic_fixed2u_div_rev(
ident_t *id_ref,
int gtid,
unsigned short * lhs,
unsigned short rhs );
599 void __kmpc_atomic_fixed2_shl_rev(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
600 void __kmpc_atomic_fixed2_shr_rev(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
601 void __kmpc_atomic_fixed2u_shr_rev(
ident_t *id_ref,
int gtid,
unsigned short * lhs,
unsigned short rhs );
602 void __kmpc_atomic_fixed4_sub_rev(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
603 void __kmpc_atomic_fixed4_div_rev(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
604 void __kmpc_atomic_fixed4u_div_rev(
ident_t *id_ref,
int gtid, kmp_uint32 * lhs, kmp_uint32 rhs );
605 void __kmpc_atomic_fixed4_shl_rev(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
606 void __kmpc_atomic_fixed4_shr_rev(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
607 void __kmpc_atomic_fixed4u_shr_rev(
ident_t *id_ref,
int gtid, kmp_uint32 * lhs, kmp_uint32 rhs );
608 void __kmpc_atomic_fixed8_sub_rev(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
609 void __kmpc_atomic_fixed8_div_rev(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
610 void __kmpc_atomic_fixed8u_div_rev(
ident_t *id_ref,
int gtid, kmp_uint64 * lhs, kmp_uint64 rhs );
611 void __kmpc_atomic_fixed8_shl_rev(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
612 void __kmpc_atomic_fixed8_shr_rev(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
613 void __kmpc_atomic_fixed8u_shr_rev(
ident_t *id_ref,
int gtid, kmp_uint64 * lhs, kmp_uint64 rhs );
614 void __kmpc_atomic_float4_sub_rev(
ident_t *id_ref,
int gtid,
float * lhs,
float rhs );
615 void __kmpc_atomic_float4_div_rev(
ident_t *id_ref,
int gtid,
float * lhs,
float rhs );
616 void __kmpc_atomic_float8_sub_rev(
ident_t *id_ref,
int gtid,
double * lhs,
double rhs );
617 void __kmpc_atomic_float8_div_rev(
ident_t *id_ref,
int gtid,
double * lhs,
double rhs );
618 void __kmpc_atomic_float10_sub_rev(
ident_t *id_ref,
int gtid,
long double * lhs,
long double rhs );
619 void __kmpc_atomic_float10_div_rev(
ident_t *id_ref,
int gtid,
long double * lhs,
long double rhs );
621 void __kmpc_atomic_float16_sub_rev(
ident_t *id_ref,
int gtid, QUAD_LEGACY * lhs, QUAD_LEGACY rhs );
622 void __kmpc_atomic_float16_div_rev(
ident_t *id_ref,
int gtid, QUAD_LEGACY * lhs, QUAD_LEGACY rhs );
624 void __kmpc_atomic_cmplx4_sub_rev(
ident_t *id_ref,
int gtid, kmp_cmplx32 * lhs, kmp_cmplx32 rhs );
625 void __kmpc_atomic_cmplx4_div_rev(
ident_t *id_ref,
int gtid, kmp_cmplx32 * lhs, kmp_cmplx32 rhs );
626 void __kmpc_atomic_cmplx8_sub_rev(
ident_t *id_ref,
int gtid, kmp_cmplx64 * lhs, kmp_cmplx64 rhs );
627 void __kmpc_atomic_cmplx8_div_rev(
ident_t *id_ref,
int gtid, kmp_cmplx64 * lhs, kmp_cmplx64 rhs );
628 void __kmpc_atomic_cmplx10_sub_rev(
ident_t *id_ref,
int gtid, kmp_cmplx80 * lhs, kmp_cmplx80 rhs );
629 void __kmpc_atomic_cmplx10_div_rev(
ident_t *id_ref,
int gtid, kmp_cmplx80 * lhs, kmp_cmplx80 rhs );
631 void __kmpc_atomic_cmplx16_sub_rev(
ident_t *id_ref,
int gtid, CPLX128_LEG * lhs, CPLX128_LEG rhs );
632 void __kmpc_atomic_cmplx16_div_rev(
ident_t *id_ref,
int gtid, CPLX128_LEG * lhs, CPLX128_LEG rhs );
635 void __kmpc_atomic_float16_sub_a16_rev(
ident_t * id_ref,
int gtid, Quad_a16_t * lhs, Quad_a16_t rhs );
636 void __kmpc_atomic_float16_div_a16_rev(
ident_t * id_ref,
int gtid, Quad_a16_t * lhs, Quad_a16_t rhs );
637 void __kmpc_atomic_cmplx16_sub_a16_rev(
ident_t * id_ref,
int gtid, kmp_cmplx128_a16_t * lhs, kmp_cmplx128_a16_t rhs );
638 void __kmpc_atomic_cmplx16_div_a16_rev(
ident_t * id_ref,
int gtid, kmp_cmplx128_a16_t * lhs, kmp_cmplx128_a16_t rhs );
640 #endif // KMP_HAVE_QUAD
642 #endif //KMP_ARCH_X86 || KMP_ARCH_X86_64
644 #endif //OMP_40_ENABLED
649 void __kmpc_atomic_fixed1_mul_float8(
ident_t *id_ref,
int gtid,
char * lhs, kmp_real64 rhs );
650 void __kmpc_atomic_fixed1_div_float8(
ident_t *id_ref,
int gtid,
char * lhs, kmp_real64 rhs );
651 void __kmpc_atomic_fixed2_mul_float8(
ident_t *id_ref,
int gtid,
short * lhs, kmp_real64 rhs );
652 void __kmpc_atomic_fixed2_div_float8(
ident_t *id_ref,
int gtid,
short * lhs, kmp_real64 rhs );
653 void __kmpc_atomic_fixed4_mul_float8(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_real64 rhs );
654 void __kmpc_atomic_fixed4_div_float8(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_real64 rhs );
655 void __kmpc_atomic_fixed8_mul_float8(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_real64 rhs );
656 void __kmpc_atomic_fixed8_div_float8(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_real64 rhs );
657 void __kmpc_atomic_float4_add_float8(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, kmp_real64 rhs );
658 void __kmpc_atomic_float4_sub_float8(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, kmp_real64 rhs );
659 void __kmpc_atomic_float4_mul_float8(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, kmp_real64 rhs );
660 void __kmpc_atomic_float4_div_float8(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, kmp_real64 rhs );
664 void __kmpc_atomic_fixed1_add_fp(
ident_t *id_ref,
int gtid,
char * lhs, _Quad rhs );
665 void __kmpc_atomic_fixed1_sub_fp(
ident_t *id_ref,
int gtid,
char * lhs, _Quad rhs );
666 void __kmpc_atomic_fixed1_mul_fp(
ident_t *id_ref,
int gtid,
char * lhs, _Quad rhs );
667 void __kmpc_atomic_fixed1_div_fp(
ident_t *id_ref,
int gtid,
char * lhs, _Quad rhs );
668 void __kmpc_atomic_fixed1u_div_fp(
ident_t *id_ref,
int gtid,
unsigned char * lhs, _Quad rhs );
670 void __kmpc_atomic_fixed2_add_fp(
ident_t *id_ref,
int gtid,
short * lhs, _Quad rhs );
671 void __kmpc_atomic_fixed2_sub_fp(
ident_t *id_ref,
int gtid,
short * lhs, _Quad rhs );
672 void __kmpc_atomic_fixed2_mul_fp(
ident_t *id_ref,
int gtid,
short * lhs, _Quad rhs );
673 void __kmpc_atomic_fixed2_div_fp(
ident_t *id_ref,
int gtid,
short * lhs, _Quad rhs );
674 void __kmpc_atomic_fixed2u_div_fp(
ident_t *id_ref,
int gtid,
unsigned short * lhs, _Quad rhs );
676 void __kmpc_atomic_fixed4_add_fp(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, _Quad rhs );
677 void __kmpc_atomic_fixed4_sub_fp(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, _Quad rhs );
678 void __kmpc_atomic_fixed4_mul_fp(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, _Quad rhs );
679 void __kmpc_atomic_fixed4_div_fp(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, _Quad rhs );
680 void __kmpc_atomic_fixed4u_div_fp(
ident_t *id_ref,
int gtid, kmp_uint32 * lhs, _Quad rhs );
682 void __kmpc_atomic_fixed8_add_fp(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, _Quad rhs );
683 void __kmpc_atomic_fixed8_sub_fp(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, _Quad rhs );
684 void __kmpc_atomic_fixed8_mul_fp(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, _Quad rhs );
685 void __kmpc_atomic_fixed8_div_fp(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, _Quad rhs );
686 void __kmpc_atomic_fixed8u_div_fp(
ident_t *id_ref,
int gtid, kmp_uint64 * lhs, _Quad rhs );
688 void __kmpc_atomic_float4_add_fp(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, _Quad rhs );
689 void __kmpc_atomic_float4_sub_fp(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, _Quad rhs );
690 void __kmpc_atomic_float4_mul_fp(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, _Quad rhs );
691 void __kmpc_atomic_float4_div_fp(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, _Quad rhs );
693 void __kmpc_atomic_float8_add_fp(
ident_t *id_ref,
int gtid, kmp_real64 * lhs, _Quad rhs );
694 void __kmpc_atomic_float8_sub_fp(
ident_t *id_ref,
int gtid, kmp_real64 * lhs, _Quad rhs );
695 void __kmpc_atomic_float8_mul_fp(
ident_t *id_ref,
int gtid, kmp_real64 * lhs, _Quad rhs );
696 void __kmpc_atomic_float8_div_fp(
ident_t *id_ref,
int gtid, kmp_real64 * lhs, _Quad rhs );
698 void __kmpc_atomic_float10_add_fp(
ident_t *id_ref,
int gtid,
long double * lhs, _Quad rhs );
699 void __kmpc_atomic_float10_sub_fp(
ident_t *id_ref,
int gtid,
long double * lhs, _Quad rhs );
700 void __kmpc_atomic_float10_mul_fp(
ident_t *id_ref,
int gtid,
long double * lhs, _Quad rhs );
701 void __kmpc_atomic_float10_div_fp(
ident_t *id_ref,
int gtid,
long double * lhs, _Quad rhs );
702 #endif // KMP_HAVE_QUAD
705 void __kmpc_atomic_cmplx4_add_cmplx8(
ident_t *id_ref,
int gtid, kmp_cmplx32 * lhs, kmp_cmplx64 rhs );
706 void __kmpc_atomic_cmplx4_sub_cmplx8(
ident_t *id_ref,
int gtid, kmp_cmplx32 * lhs, kmp_cmplx64 rhs );
707 void __kmpc_atomic_cmplx4_mul_cmplx8(
ident_t *id_ref,
int gtid, kmp_cmplx32 * lhs, kmp_cmplx64 rhs );
708 void __kmpc_atomic_cmplx4_div_cmplx8(
ident_t *id_ref,
int gtid, kmp_cmplx32 * lhs, kmp_cmplx64 rhs );
711 void __kmpc_atomic_1(
ident_t *id_ref,
int gtid,
void* lhs,
void* rhs,
void (*f)(
void *,
void *,
void * ) );
712 void __kmpc_atomic_2(
ident_t *id_ref,
int gtid,
void* lhs,
void* rhs,
void (*f)(
void *,
void *,
void * ) );
713 void __kmpc_atomic_4(
ident_t *id_ref,
int gtid,
void* lhs,
void* rhs,
void (*f)(
void *,
void *,
void * ) );
714 void __kmpc_atomic_8(
ident_t *id_ref,
int gtid,
void* lhs,
void* rhs,
void (*f)(
void *,
void *,
void * ) );
715 void __kmpc_atomic_10(
ident_t *id_ref,
int gtid,
void* lhs,
void* rhs,
void (*f)(
void *,
void *,
void * ) );
716 void __kmpc_atomic_16(
ident_t *id_ref,
int gtid,
void* lhs,
void* rhs,
void (*f)(
void *,
void *,
void * ) );
717 void __kmpc_atomic_20(
ident_t *id_ref,
int gtid,
void* lhs,
void* rhs,
void (*f)(
void *,
void *,
void * ) );
718 void __kmpc_atomic_32(
ident_t *id_ref,
int gtid,
void* lhs,
void* rhs,
void (*f)(
void *,
void *,
void * ) );
721 #if KMP_ARCH_X86 || KMP_ARCH_X86_64
727 char __kmpc_atomic_fixed1_rd(
ident_t *id_ref,
int gtid,
char * loc );
728 short __kmpc_atomic_fixed2_rd(
ident_t *id_ref,
int gtid,
short * loc );
729 kmp_int32 __kmpc_atomic_fixed4_rd(
ident_t *id_ref,
int gtid, kmp_int32 * loc );
730 kmp_int64 __kmpc_atomic_fixed8_rd(
ident_t *id_ref,
int gtid, kmp_int64 * loc );
731 kmp_real32 __kmpc_atomic_float4_rd(
ident_t *id_ref,
int gtid, kmp_real32 * loc );
732 kmp_real64 __kmpc_atomic_float8_rd(
ident_t *id_ref,
int gtid, kmp_real64 * loc );
733 long double __kmpc_atomic_float10_rd(
ident_t *id_ref,
int gtid,
long double * loc );
735 QUAD_LEGACY __kmpc_atomic_float16_rd(
ident_t *id_ref,
int gtid, QUAD_LEGACY * loc );
739 #if ( KMP_OS_WINDOWS )
740 void __kmpc_atomic_cmplx4_rd( kmp_cmplx32 * out,
ident_t *id_ref,
int gtid, kmp_cmplx32 * loc );
742 kmp_cmplx32 __kmpc_atomic_cmplx4_rd(
ident_t *id_ref,
int gtid, kmp_cmplx32 * loc );
744 kmp_cmplx64 __kmpc_atomic_cmplx8_rd(
ident_t *id_ref,
int gtid, kmp_cmplx64 * loc );
745 kmp_cmplx80 __kmpc_atomic_cmplx10_rd(
ident_t *id_ref,
int gtid, kmp_cmplx80 * loc );
747 CPLX128_LEG __kmpc_atomic_cmplx16_rd(
ident_t *id_ref,
int gtid, CPLX128_LEG * loc );
750 Quad_a16_t __kmpc_atomic_float16_a16_rd(
ident_t * id_ref,
int gtid, Quad_a16_t * loc );
751 kmp_cmplx128_a16_t __kmpc_atomic_cmplx16_a16_rd(
ident_t * id_ref,
int gtid, kmp_cmplx128_a16_t * loc );
760 void __kmpc_atomic_fixed1_wr(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
761 void __kmpc_atomic_fixed2_wr(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
762 void __kmpc_atomic_fixed4_wr(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
763 void __kmpc_atomic_fixed8_wr(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
764 void __kmpc_atomic_float4_wr(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, kmp_real32 rhs );
765 void __kmpc_atomic_float8_wr(
ident_t *id_ref,
int gtid, kmp_real64 * lhs, kmp_real64 rhs );
766 void __kmpc_atomic_float10_wr(
ident_t *id_ref,
int gtid,
long double * lhs,
long double rhs );
768 void __kmpc_atomic_float16_wr(
ident_t *id_ref,
int gtid, QUAD_LEGACY * lhs, QUAD_LEGACY rhs );
770 void __kmpc_atomic_cmplx4_wr(
ident_t *id_ref,
int gtid, kmp_cmplx32 * lhs, kmp_cmplx32 rhs );
771 void __kmpc_atomic_cmplx8_wr(
ident_t *id_ref,
int gtid, kmp_cmplx64 * lhs, kmp_cmplx64 rhs );
772 void __kmpc_atomic_cmplx10_wr(
ident_t *id_ref,
int gtid, kmp_cmplx80 * lhs, kmp_cmplx80 rhs );
774 void __kmpc_atomic_cmplx16_wr(
ident_t *id_ref,
int gtid, CPLX128_LEG * lhs, CPLX128_LEG rhs );
777 void __kmpc_atomic_float16_a16_wr(
ident_t * id_ref,
int gtid, Quad_a16_t * lhs, Quad_a16_t rhs );
778 void __kmpc_atomic_cmplx16_a16_wr(
ident_t * id_ref,
int gtid, kmp_cmplx128_a16_t * lhs, kmp_cmplx128_a16_t rhs );
787 char __kmpc_atomic_fixed1_add_cpt(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs,
int flag);
788 char __kmpc_atomic_fixed1_andb_cpt(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs,
int flag);
789 char __kmpc_atomic_fixed1_div_cpt(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs,
int flag);
790 unsigned char __kmpc_atomic_fixed1u_div_cpt(
ident_t *id_ref,
int gtid,
unsigned char * lhs,
unsigned char rhs,
int flag);
791 char __kmpc_atomic_fixed1_mul_cpt(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs,
int flag);
792 char __kmpc_atomic_fixed1_orb_cpt(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs,
int flag);
793 char __kmpc_atomic_fixed1_shl_cpt(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs,
int flag);
794 char __kmpc_atomic_fixed1_shr_cpt(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs,
int flag);
795 unsigned char __kmpc_atomic_fixed1u_shr_cpt(
ident_t *id_ref,
int gtid,
unsigned char * lhs,
unsigned char rhs,
int flag);
796 char __kmpc_atomic_fixed1_sub_cpt(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs,
int flag);
797 char __kmpc_atomic_fixed1_xor_cpt(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs,
int flag);
799 short __kmpc_atomic_fixed2_add_cpt(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs,
int flag);
800 short __kmpc_atomic_fixed2_andb_cpt(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs,
int flag);
801 short __kmpc_atomic_fixed2_div_cpt(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs,
int flag);
802 unsigned short __kmpc_atomic_fixed2u_div_cpt(
ident_t *id_ref,
int gtid,
unsigned short * lhs,
unsigned short rhs,
int flag);
803 short __kmpc_atomic_fixed2_mul_cpt(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs,
int flag);
804 short __kmpc_atomic_fixed2_orb_cpt(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs,
int flag);
805 short __kmpc_atomic_fixed2_shl_cpt(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs,
int flag);
806 short __kmpc_atomic_fixed2_shr_cpt(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs,
int flag);
807 unsigned short __kmpc_atomic_fixed2u_shr_cpt(
ident_t *id_ref,
int gtid,
unsigned short * lhs,
unsigned short rhs,
int flag);
808 short __kmpc_atomic_fixed2_sub_cpt(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs,
int flag);
809 short __kmpc_atomic_fixed2_xor_cpt(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs,
int flag);
811 kmp_int32 __kmpc_atomic_fixed4_add_cpt(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs,
int flag);
812 kmp_int32 __kmpc_atomic_fixed4_sub_cpt(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs,
int flag);
814 kmp_real32 __kmpc_atomic_float4_add_cpt(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, kmp_real32 rhs,
int flag);
815 kmp_real32 __kmpc_atomic_float4_sub_cpt(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, kmp_real32 rhs,
int flag);
817 kmp_int64 __kmpc_atomic_fixed8_add_cpt(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs,
int flag);
818 kmp_int64 __kmpc_atomic_fixed8_sub_cpt(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs,
int flag);
820 kmp_real64 __kmpc_atomic_float8_add_cpt(
ident_t *id_ref,
int gtid, kmp_real64 * lhs, kmp_real64 rhs,
int flag);
821 kmp_real64 __kmpc_atomic_float8_sub_cpt(
ident_t *id_ref,
int gtid, kmp_real64 * lhs, kmp_real64 rhs,
int flag);
823 kmp_int32 __kmpc_atomic_fixed4_andb_cpt(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs,
int flag);
824 kmp_int32 __kmpc_atomic_fixed4_div_cpt(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs,
int flag);
825 kmp_uint32 __kmpc_atomic_fixed4u_div_cpt(
ident_t *id_ref,
int gtid, kmp_uint32 * lhs, kmp_uint32 rhs,
int flag);
826 kmp_int32 __kmpc_atomic_fixed4_mul_cpt(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs,
int flag);
827 kmp_int32 __kmpc_atomic_fixed4_orb_cpt(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs,
int flag);
828 kmp_int32 __kmpc_atomic_fixed4_shl_cpt(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs,
int flag);
829 kmp_int32 __kmpc_atomic_fixed4_shr_cpt(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs,
int flag);
830 kmp_uint32 __kmpc_atomic_fixed4u_shr_cpt(
ident_t *id_ref,
int gtid, kmp_uint32 * lhs, kmp_uint32 rhs,
int flag);
831 kmp_int32 __kmpc_atomic_fixed4_xor_cpt(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs,
int flag);
833 kmp_int64 __kmpc_atomic_fixed8_andb_cpt(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs,
int flag);
834 kmp_int64 __kmpc_atomic_fixed8_div_cpt(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs,
int flag);
835 kmp_uint64 __kmpc_atomic_fixed8u_div_cpt(
ident_t *id_ref,
int gtid, kmp_uint64 * lhs, kmp_uint64 rhs,
int flag);
836 kmp_int64 __kmpc_atomic_fixed8_mul_cpt(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs,
int flag);
837 kmp_int64 __kmpc_atomic_fixed8_orb_cpt(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs,
int flag);
838 kmp_int64 __kmpc_atomic_fixed8_shl_cpt(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs,
int flag);
839 kmp_int64 __kmpc_atomic_fixed8_shr_cpt(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs,
int flag);
840 kmp_uint64 __kmpc_atomic_fixed8u_shr_cpt(
ident_t *id_ref,
int gtid, kmp_uint64 * lhs, kmp_uint64 rhs,
int flag);
841 kmp_int64 __kmpc_atomic_fixed8_xor_cpt(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs,
int flag);
843 kmp_real32 __kmpc_atomic_float4_div_cpt(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, kmp_real32 rhs,
int flag);
844 kmp_real32 __kmpc_atomic_float4_mul_cpt(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, kmp_real32 rhs,
int flag);
846 kmp_real64 __kmpc_atomic_float8_div_cpt(
ident_t *id_ref,
int gtid, kmp_real64 * lhs, kmp_real64 rhs,
int flag);
847 kmp_real64 __kmpc_atomic_float8_mul_cpt(
ident_t *id_ref,
int gtid, kmp_real64 * lhs, kmp_real64 rhs,
int flag);
849 char __kmpc_atomic_fixed1_andl_cpt(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs,
int flag);
850 char __kmpc_atomic_fixed1_orl_cpt(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs,
int flag);
851 short __kmpc_atomic_fixed2_andl_cpt(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs,
int flag);
852 short __kmpc_atomic_fixed2_orl_cpt(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs,
int flag);
853 kmp_int32 __kmpc_atomic_fixed4_andl_cpt(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs,
int flag);
854 kmp_int32 __kmpc_atomic_fixed4_orl_cpt(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs,
int flag);
855 kmp_int64 __kmpc_atomic_fixed8_andl_cpt(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs,
int flag);
856 kmp_int64 __kmpc_atomic_fixed8_orl_cpt(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs,
int flag);
858 char __kmpc_atomic_fixed1_max_cpt(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs,
int flag);
859 char __kmpc_atomic_fixed1_min_cpt(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs,
int flag);
860 short __kmpc_atomic_fixed2_max_cpt(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs,
int flag);
861 short __kmpc_atomic_fixed2_min_cpt(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs,
int flag);
862 kmp_int32 __kmpc_atomic_fixed4_max_cpt(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs,
int flag);
863 kmp_int32 __kmpc_atomic_fixed4_min_cpt(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs,
int flag);
864 kmp_int64 __kmpc_atomic_fixed8_max_cpt(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs,
int flag);
865 kmp_int64 __kmpc_atomic_fixed8_min_cpt(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs,
int flag);
866 kmp_real32 __kmpc_atomic_float4_max_cpt(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, kmp_real32 rhs,
int flag);
867 kmp_real32 __kmpc_atomic_float4_min_cpt(
ident_t *id_ref,
int gtid, kmp_real32 * lhs, kmp_real32 rhs,
int flag);
868 kmp_real64 __kmpc_atomic_float8_max_cpt(
ident_t *id_ref,
int gtid, kmp_real64 * lhs, kmp_real64 rhs,
int flag);
869 kmp_real64 __kmpc_atomic_float8_min_cpt(
ident_t *id_ref,
int gtid, kmp_real64 * lhs, kmp_real64 rhs,
int flag);
871 QUAD_LEGACY __kmpc_atomic_float16_max_cpt(
ident_t *id_ref,
int gtid, QUAD_LEGACY * lhs, QUAD_LEGACY rhs,
int flag);
872 QUAD_LEGACY __kmpc_atomic_float16_min_cpt(
ident_t *id_ref,
int gtid, QUAD_LEGACY * lhs, QUAD_LEGACY rhs,
int flag);
875 char __kmpc_atomic_fixed1_neqv_cpt(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs,
int flag);
876 short __kmpc_atomic_fixed2_neqv_cpt(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs,
int flag);
877 kmp_int32 __kmpc_atomic_fixed4_neqv_cpt(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs,
int flag);
878 kmp_int64 __kmpc_atomic_fixed8_neqv_cpt(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs,
int flag);
880 char __kmpc_atomic_fixed1_eqv_cpt(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs,
int flag);
881 short __kmpc_atomic_fixed2_eqv_cpt(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs,
int flag);
882 kmp_int32 __kmpc_atomic_fixed4_eqv_cpt(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs,
int flag);
883 kmp_int64 __kmpc_atomic_fixed8_eqv_cpt(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs,
int flag);
885 long double __kmpc_atomic_float10_add_cpt(
ident_t *id_ref,
int gtid,
long double * lhs,
long double rhs,
int flag);
886 long double __kmpc_atomic_float10_sub_cpt(
ident_t *id_ref,
int gtid,
long double * lhs,
long double rhs,
int flag);
887 long double __kmpc_atomic_float10_mul_cpt(
ident_t *id_ref,
int gtid,
long double * lhs,
long double rhs,
int flag);
888 long double __kmpc_atomic_float10_div_cpt(
ident_t *id_ref,
int gtid,
long double * lhs,
long double rhs,
int flag);
891 QUAD_LEGACY __kmpc_atomic_float16_add_cpt(
ident_t *id_ref,
int gtid, QUAD_LEGACY * lhs, QUAD_LEGACY rhs,
int flag);
892 QUAD_LEGACY __kmpc_atomic_float16_sub_cpt(
ident_t *id_ref,
int gtid, QUAD_LEGACY * lhs, QUAD_LEGACY rhs,
int flag);
893 QUAD_LEGACY __kmpc_atomic_float16_mul_cpt(
ident_t *id_ref,
int gtid, QUAD_LEGACY * lhs, QUAD_LEGACY rhs,
int flag);
894 QUAD_LEGACY __kmpc_atomic_float16_div_cpt(
ident_t *id_ref,
int gtid, QUAD_LEGACY * lhs, QUAD_LEGACY rhs,
int flag);
898 void __kmpc_atomic_cmplx4_add_cpt(
ident_t *id_ref,
int gtid, kmp_cmplx32 * lhs, kmp_cmplx32 rhs, kmp_cmplx32 * out,
int flag);
899 void __kmpc_atomic_cmplx4_sub_cpt(
ident_t *id_ref,
int gtid, kmp_cmplx32 * lhs, kmp_cmplx32 rhs, kmp_cmplx32 * out,
int flag);
900 void __kmpc_atomic_cmplx4_mul_cpt(
ident_t *id_ref,
int gtid, kmp_cmplx32 * lhs, kmp_cmplx32 rhs, kmp_cmplx32 * out,
int flag);
901 void __kmpc_atomic_cmplx4_div_cpt(
ident_t *id_ref,
int gtid, kmp_cmplx32 * lhs, kmp_cmplx32 rhs, kmp_cmplx32 * out,
int flag);
903 kmp_cmplx64 __kmpc_atomic_cmplx8_add_cpt(
ident_t *id_ref,
int gtid, kmp_cmplx64 * lhs, kmp_cmplx64 rhs,
int flag);
904 kmp_cmplx64 __kmpc_atomic_cmplx8_sub_cpt(
ident_t *id_ref,
int gtid, kmp_cmplx64 * lhs, kmp_cmplx64 rhs,
int flag);
905 kmp_cmplx64 __kmpc_atomic_cmplx8_mul_cpt(
ident_t *id_ref,
int gtid, kmp_cmplx64 * lhs, kmp_cmplx64 rhs,
int flag);
906 kmp_cmplx64 __kmpc_atomic_cmplx8_div_cpt(
ident_t *id_ref,
int gtid, kmp_cmplx64 * lhs, kmp_cmplx64 rhs,
int flag);
907 kmp_cmplx80 __kmpc_atomic_cmplx10_add_cpt(
ident_t *id_ref,
int gtid, kmp_cmplx80 * lhs, kmp_cmplx80 rhs,
int flag);
908 kmp_cmplx80 __kmpc_atomic_cmplx10_sub_cpt(
ident_t *id_ref,
int gtid, kmp_cmplx80 * lhs, kmp_cmplx80 rhs,
int flag);
909 kmp_cmplx80 __kmpc_atomic_cmplx10_mul_cpt(
ident_t *id_ref,
int gtid, kmp_cmplx80 * lhs, kmp_cmplx80 rhs,
int flag);
910 kmp_cmplx80 __kmpc_atomic_cmplx10_div_cpt(
ident_t *id_ref,
int gtid, kmp_cmplx80 * lhs, kmp_cmplx80 rhs,
int flag);
912 CPLX128_LEG __kmpc_atomic_cmplx16_add_cpt(
ident_t *id_ref,
int gtid, CPLX128_LEG * lhs, CPLX128_LEG rhs,
int flag);
913 CPLX128_LEG __kmpc_atomic_cmplx16_sub_cpt(
ident_t *id_ref,
int gtid, CPLX128_LEG * lhs, CPLX128_LEG rhs,
int flag);
914 CPLX128_LEG __kmpc_atomic_cmplx16_mul_cpt(
ident_t *id_ref,
int gtid, CPLX128_LEG * lhs, CPLX128_LEG rhs,
int flag);
915 CPLX128_LEG __kmpc_atomic_cmplx16_div_cpt(
ident_t *id_ref,
int gtid, CPLX128_LEG * lhs, CPLX128_LEG rhs,
int flag);
918 Quad_a16_t __kmpc_atomic_float16_add_a16_cpt(
ident_t * id_ref,
int gtid, Quad_a16_t * lhs, Quad_a16_t rhs,
int flag);
919 Quad_a16_t __kmpc_atomic_float16_sub_a16_cpt(
ident_t * id_ref,
int gtid, Quad_a16_t * lhs, Quad_a16_t rhs,
int flag);
920 Quad_a16_t __kmpc_atomic_float16_mul_a16_cpt(
ident_t * id_ref,
int gtid, Quad_a16_t * lhs, Quad_a16_t rhs,
int flag);
921 Quad_a16_t __kmpc_atomic_float16_div_a16_cpt(
ident_t * id_ref,
int gtid, Quad_a16_t * lhs, Quad_a16_t rhs,
int flag);
922 Quad_a16_t __kmpc_atomic_float16_max_a16_cpt(
ident_t * id_ref,
int gtid, Quad_a16_t * lhs, Quad_a16_t rhs,
int flag);
923 Quad_a16_t __kmpc_atomic_float16_min_a16_cpt(
ident_t * id_ref,
int gtid, Quad_a16_t * lhs, Quad_a16_t rhs,
int flag);
924 kmp_cmplx128_a16_t __kmpc_atomic_cmplx16_add_a16_cpt(
ident_t * id_ref,
int gtid, kmp_cmplx128_a16_t * lhs, kmp_cmplx128_a16_t rhs,
int flag);
925 kmp_cmplx128_a16_t __kmpc_atomic_cmplx16_sub_a16_cpt(
ident_t * id_ref,
int gtid, kmp_cmplx128_a16_t * lhs, kmp_cmplx128_a16_t rhs,
int flag);
926 kmp_cmplx128_a16_t __kmpc_atomic_cmplx16_mul_a16_cpt(
ident_t * id_ref,
int gtid, kmp_cmplx128_a16_t * lhs, kmp_cmplx128_a16_t rhs,
int flag);
927 kmp_cmplx128_a16_t __kmpc_atomic_cmplx16_div_a16_cpt(
ident_t * id_ref,
int gtid, kmp_cmplx128_a16_t * lhs, kmp_cmplx128_a16_t rhs,
int flag);
931 void __kmpc_atomic_start(
void);
932 void __kmpc_atomic_end(
void);
938 char __kmpc_atomic_fixed1_sub_cpt_rev(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs,
int flag );
939 char __kmpc_atomic_fixed1_div_cpt_rev(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs,
int flag );
940 unsigned char __kmpc_atomic_fixed1u_div_cpt_rev(
ident_t *id_ref,
int gtid,
unsigned char * lhs,
unsigned char rhs,
int flag );
941 char __kmpc_atomic_fixed1_shl_cpt_rev(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs ,
int flag);
942 char __kmpc_atomic_fixed1_shr_cpt_rev(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs,
int flag );
943 unsigned char __kmpc_atomic_fixed1u_shr_cpt_rev(
ident_t *id_ref,
int gtid,
unsigned char * lhs,
unsigned char rhs,
int flag );
944 short __kmpc_atomic_fixed2_sub_cpt_rev(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs,
int flag );
945 short __kmpc_atomic_fixed2_div_cpt_rev(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs,
int flag );
946 unsigned short __kmpc_atomic_fixed2u_div_cpt_rev(
ident_t *id_ref,
int gtid,
unsigned short * lhs,
unsigned short rhs,
int flag );
947 short __kmpc_atomic_fixed2_shl_cpt_rev(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs,
int flag );
948 short __kmpc_atomic_fixed2_shr_cpt_rev(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs,
int flag );
949 unsigned short __kmpc_atomic_fixed2u_shr_cpt_rev(
ident_t *id_ref,
int gtid,
unsigned short * lhs,
unsigned short rhs,
int flag );
950 kmp_int32 __kmpc_atomic_fixed4_sub_cpt_rev(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs,
int flag );
951 kmp_int32 __kmpc_atomic_fixed4_div_cpt_rev(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs,
int flag );
952 kmp_uint32 __kmpc_atomic_fixed4u_div_cpt_rev(
ident_t *id_ref,
int gtid, kmp_uint32 * lhs, kmp_uint32 rhs,
int flag );
953 kmp_int32 __kmpc_atomic_fixed4_shl_cpt_rev(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs,
int flag );
954 kmp_int32 __kmpc_atomic_fixed4_shr_cpt_rev(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs,
int flag );
955 kmp_uint32 __kmpc_atomic_fixed4u_shr_cpt_rev(
ident_t *id_ref,
int gtid, kmp_uint32 * lhs, kmp_uint32 rhs,
int flag );
956 kmp_int64 __kmpc_atomic_fixed8_sub_cpt_rev(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs,
int flag );
957 kmp_int64 __kmpc_atomic_fixed8_div_cpt_rev(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs,
int flag );
958 kmp_uint64 __kmpc_atomic_fixed8u_div_cpt_rev(
ident_t *id_ref,
int gtid, kmp_uint64 * lhs, kmp_uint64 rhs,
int flag );
959 kmp_int64 __kmpc_atomic_fixed8_shl_cpt_rev(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs,
int flag );
960 kmp_int64 __kmpc_atomic_fixed8_shr_cpt_rev(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs,
int flag );
961 kmp_uint64 __kmpc_atomic_fixed8u_shr_cpt_rev(
ident_t *id_ref,
int gtid, kmp_uint64 * lhs, kmp_uint64 rhs,
int flag );
962 float __kmpc_atomic_float4_sub_cpt_rev(
ident_t *id_ref,
int gtid,
float * lhs,
float rhs,
int flag );
963 float __kmpc_atomic_float4_div_cpt_rev(
ident_t *id_ref,
int gtid,
float * lhs,
float rhs,
int flag );
964 double __kmpc_atomic_float8_sub_cpt_rev(
ident_t *id_ref,
int gtid,
double * lhs,
double rhs,
int flag );
965 double __kmpc_atomic_float8_div_cpt_rev(
ident_t *id_ref,
int gtid,
double * lhs,
double rhs,
int flag );
966 long double __kmpc_atomic_float10_sub_cpt_rev(
ident_t *id_ref,
int gtid,
long double * lhs,
long double rhs,
int flag );
967 long double __kmpc_atomic_float10_div_cpt_rev(
ident_t *id_ref,
int gtid,
long double * lhs,
long double rhs,
int flag );
969 QUAD_LEGACY __kmpc_atomic_float16_sub_cpt_rev(
ident_t *id_ref,
int gtid, QUAD_LEGACY * lhs, QUAD_LEGACY rhs,
int flag );
970 QUAD_LEGACY __kmpc_atomic_float16_div_cpt_rev(
ident_t *id_ref,
int gtid, QUAD_LEGACY * lhs, QUAD_LEGACY rhs,
int flag );
973 void __kmpc_atomic_cmplx4_sub_cpt_rev(
ident_t *id_ref,
int gtid, kmp_cmplx32 * lhs, kmp_cmplx32 rhs, kmp_cmplx32 * out,
int flag );
974 void __kmpc_atomic_cmplx4_div_cpt_rev(
ident_t *id_ref,
int gtid, kmp_cmplx32 * lhs, kmp_cmplx32 rhs, kmp_cmplx32 * out,
int flag );
975 kmp_cmplx64 __kmpc_atomic_cmplx8_sub_cpt_rev(
ident_t *id_ref,
int gtid, kmp_cmplx64 * lhs, kmp_cmplx64 rhs,
int flag );
976 kmp_cmplx64 __kmpc_atomic_cmplx8_div_cpt_rev(
ident_t *id_ref,
int gtid, kmp_cmplx64 * lhs, kmp_cmplx64 rhs,
int flag );
977 kmp_cmplx80 __kmpc_atomic_cmplx10_sub_cpt_rev(
ident_t *id_ref,
int gtid, kmp_cmplx80 * lhs, kmp_cmplx80 rhs,
int flag );
978 kmp_cmplx80 __kmpc_atomic_cmplx10_div_cpt_rev(
ident_t *id_ref,
int gtid, kmp_cmplx80 * lhs, kmp_cmplx80 rhs,
int flag );
980 CPLX128_LEG __kmpc_atomic_cmplx16_sub_cpt_rev(
ident_t *id_ref,
int gtid, CPLX128_LEG * lhs, CPLX128_LEG rhs,
int flag );
981 CPLX128_LEG __kmpc_atomic_cmplx16_div_cpt_rev(
ident_t *id_ref,
int gtid, CPLX128_LEG * lhs, CPLX128_LEG rhs,
int flag );
983 Quad_a16_t __kmpc_atomic_float16_sub_a16_cpt_rev(
ident_t * id_ref,
int gtid, Quad_a16_t * lhs, Quad_a16_t rhs,
int flag );
984 Quad_a16_t __kmpc_atomic_float16_div_a16_cpt_rev(
ident_t * id_ref,
int gtid, Quad_a16_t * lhs, Quad_a16_t rhs,
int flag );
985 kmp_cmplx128_a16_t __kmpc_atomic_cmplx16_sub_a16_cpt_rev(
ident_t * id_ref,
int gtid, kmp_cmplx128_a16_t * lhs, kmp_cmplx128_a16_t rhs,
int flag );
986 kmp_cmplx128_a16_t __kmpc_atomic_cmplx16_div_a16_cpt_rev(
ident_t * id_ref,
int gtid, kmp_cmplx128_a16_t * lhs, kmp_cmplx128_a16_t rhs,
int flag );
991 char __kmpc_atomic_fixed1_swp(
ident_t *id_ref,
int gtid,
char * lhs,
char rhs );
992 short __kmpc_atomic_fixed2_swp(
ident_t *id_ref,
int gtid,
short * lhs,
short rhs );
993 kmp_int32 __kmpc_atomic_fixed4_swp(
ident_t *id_ref,
int gtid, kmp_int32 * lhs, kmp_int32 rhs );
994 kmp_int64 __kmpc_atomic_fixed8_swp(
ident_t *id_ref,
int gtid, kmp_int64 * lhs, kmp_int64 rhs );
995 float __kmpc_atomic_float4_swp(
ident_t *id_ref,
int gtid,
float * lhs,
float rhs );
996 double __kmpc_atomic_float8_swp(
ident_t *id_ref,
int gtid,
double * lhs,
double rhs );
997 long double __kmpc_atomic_float10_swp(
ident_t *id_ref,
int gtid,
long double * lhs,
long double rhs );
999 QUAD_LEGACY __kmpc_atomic_float16_swp(
ident_t *id_ref,
int gtid, QUAD_LEGACY * lhs, QUAD_LEGACY rhs );
1002 void __kmpc_atomic_cmplx4_swp(
ident_t *id_ref,
int gtid, kmp_cmplx32 * lhs, kmp_cmplx32 rhs, kmp_cmplx32 * out );
1005 kmp_cmplx64 __kmpc_atomic_cmplx8_swp(
ident_t *id_ref,
int gtid, kmp_cmplx64 * lhs, kmp_cmplx64 rhs );
1006 kmp_cmplx80 __kmpc_atomic_cmplx10_swp(
ident_t *id_ref,
int gtid, kmp_cmplx80 * lhs, kmp_cmplx80 rhs );
1008 CPLX128_LEG __kmpc_atomic_cmplx16_swp(
ident_t *id_ref,
int gtid, CPLX128_LEG * lhs, CPLX128_LEG rhs );
1009 #if ( KMP_ARCH_X86 )
1010 Quad_a16_t __kmpc_atomic_float16_a16_swp(
ident_t *id_ref,
int gtid, Quad_a16_t * lhs, Quad_a16_t rhs );
1011 kmp_cmplx128_a16_t __kmpc_atomic_cmplx16_a16_swp(
ident_t *id_ref,
int gtid, kmp_cmplx128_a16_t * lhs, kmp_cmplx128_a16_t rhs );
1017 #endif //OMP_40_ENABLED
1019 #endif //KMP_ARCH_X86 || KMP_ARCH_X86_64