diff --git a/openmp/runtime/src/kmp_atomic.cpp b/openmp/runtime/src/kmp_atomic.cpp --- a/openmp/runtime/src/kmp_atomic.cpp +++ b/openmp/runtime/src/kmp_atomic.cpp @@ -1235,10 +1235,12 @@ KMP_ARCH_X86) // __kmpc_atomic_float8_max MIN_MAX_COMPXCHG(float8, min, kmp_real64, 64, >, 8r, 7, KMP_ARCH_X86) // __kmpc_atomic_float8_min +#if KMP_ARCH_X86 || KMP_ARCH_X86_64 MIN_MAX_CRITICAL(float10, max, long double, <, 10r, 1) // __kmpc_atomic_float10_max MIN_MAX_CRITICAL(float10, min, long double, >, 10r, 1) // __kmpc_atomic_float10_min +#endif // KMP_ARCH_X86 || KMP_ARCH_X86_64 #if KMP_HAVE_QUAD MIN_MAX_CRITICAL(float16, max, QUAD_LEGACY, <, 16r, 1) // __kmpc_atomic_float16_max @@ -1317,6 +1319,7 @@ } /* ------------------------------------------------------------------------- */ +#if KMP_ARCH_X86 || KMP_ARCH_X86_64 // routines for long double type ATOMIC_CRITICAL(float10, add, long double, +, 10r, 1) // __kmpc_atomic_float10_add @@ -1326,6 +1329,7 @@ 1) // __kmpc_atomic_float10_mul ATOMIC_CRITICAL(float10, div, long double, /, 10r, 1) // __kmpc_atomic_float10_div +#endif // KMP_ARCH_X86 || KMP_ARCH_X86_64 #if KMP_HAVE_QUAD // routines for _Quad type ATOMIC_CRITICAL(float16, add, QUAD_LEGACY, +, 16r, @@ -1371,6 +1375,7 @@ ATOMIC_CRITICAL(cmplx8, sub, kmp_cmplx64, -, 16c, 1) // __kmpc_atomic_cmplx8_sub ATOMIC_CRITICAL(cmplx8, mul, kmp_cmplx64, *, 16c, 1) // __kmpc_atomic_cmplx8_mul ATOMIC_CRITICAL(cmplx8, div, kmp_cmplx64, /, 16c, 1) // __kmpc_atomic_cmplx8_div +#if KMP_ARCH_X86 || KMP_ARCH_X86_64 ATOMIC_CRITICAL(cmplx10, add, kmp_cmplx80, +, 20c, 1) // __kmpc_atomic_cmplx10_add ATOMIC_CRITICAL(cmplx10, sub, kmp_cmplx80, -, 20c, @@ -1379,6 +1384,7 @@ 1) // __kmpc_atomic_cmplx10_mul ATOMIC_CRITICAL(cmplx10, div, kmp_cmplx80, /, 20c, 1) // __kmpc_atomic_cmplx10_div +#endif // KMP_ARCH_X86 || KMP_ARCH_X86_64 #if KMP_HAVE_QUAD ATOMIC_CRITICAL(cmplx16, add, CPLX128_LEG, +, 32c, 1) // __kmpc_atomic_cmplx16_add @@ -1797,6 +1803,7 @@ ATOMIC_CMPXCHG_MIX(float8, kmp_real64, div, 64, /, fp, _Quad, 8r, 7, KMP_ARCH_X86) // __kmpc_atomic_float8_div_fp +#if KMP_ARCH_X86 || KMP_ARCH_X86_64 ATOMIC_CRITICAL_FP(float10, long double, add, +, fp, _Quad, 10r, 1) // __kmpc_atomic_float10_add_fp ATOMIC_CRITICAL_FP(float10, long double, sub, -, fp, _Quad, 10r, @@ -1806,7 +1813,6 @@ ATOMIC_CRITICAL_FP(float10, long double, div, /, fp, _Quad, 10r, 1) // __kmpc_atomic_float10_div_fp -#if KMP_ARCH_X86 || KMP_ARCH_X86_64 // Reverse operations ATOMIC_CMPXCHG_REV_MIX(fixed1, char, sub_rev, 8, -, fp, _Quad, 1i, 0, KMP_ARCH_X86) // __kmpc_atomic_fixed1_sub_rev_fp @@ -3594,7 +3600,7 @@ __kmp_release_atomic_lock(&__kmp_atomic_lock_8i, gtid); } } - +#if KMP_ARCH_X86 || KMP_ARCH_X86_64 void __kmpc_atomic_10(ident_t *id_ref, int gtid, void *lhs, void *rhs, void (*f)(void *, void *, void *)) { KMP_DEBUG_ASSERT(__kmp_init_serial); @@ -3615,6 +3621,7 @@ #endif /* KMP_GOMP_COMPAT */ __kmp_release_atomic_lock(&__kmp_atomic_lock_10r, gtid); } +#endif // KMP_ARCH_X86 || KMP_ARCH_X86_64 void __kmpc_atomic_16(ident_t *id_ref, int gtid, void *lhs, void *rhs, void (*f)(void *, void *, void *)) { @@ -3636,7 +3643,7 @@ #endif /* KMP_GOMP_COMPAT */ __kmp_release_atomic_lock(&__kmp_atomic_lock_16c, gtid); } - +#if KMP_ARCH_X86 || KMP_ARCH_X86_64 void __kmpc_atomic_20(ident_t *id_ref, int gtid, void *lhs, void *rhs, void (*f)(void *, void *, void *)) { KMP_DEBUG_ASSERT(__kmp_init_serial); @@ -3657,7 +3664,7 @@ #endif /* KMP_GOMP_COMPAT */ __kmp_release_atomic_lock(&__kmp_atomic_lock_20c, gtid); } - +#endif // KMP_ARCH_X86 || KMP_ARCH_X86_64 void __kmpc_atomic_32(ident_t *id_ref, int gtid, void *lhs, void *rhs, void (*f)(void *, void *, void *)) { KMP_DEBUG_ASSERT(__kmp_init_serial);