diff --git a/openmp/runtime/cmake/LibompHandleFlags.cmake b/openmp/runtime/cmake/LibompHandleFlags.cmake --- a/openmp/runtime/cmake/LibompHandleFlags.cmake +++ b/openmp/runtime/cmake/LibompHandleFlags.cmake @@ -163,8 +163,10 @@ set(gdflags_local) if(${IA32}) set(libomp_gdflag_arch arch_32) + libomp_append(gdflags_local "-D IS_IA_ARCH") elseif(${INTEL64}) set(libomp_gdflag_arch arch_32e) + libomp_append(gdflags_local "-D IS_IA_ARCH") else() set(libomp_gdflag_arch arch_${LIBOMP_ARCH}) endif() diff --git a/openmp/runtime/src/dllexports b/openmp/runtime/src/dllexports --- a/openmp/runtime/src/dllexports +++ b/openmp/runtime/src/dllexports @@ -688,11 +688,12 @@ __kmpc_atomic_fixed2_eqv 2078 __kmpc_atomic_fixed4_eqv 2079 __kmpc_atomic_fixed8_eqv 2080 - + %ifdef IS_IA_ARCH __kmpc_atomic_float10_add 2081 __kmpc_atomic_float10_sub 2082 __kmpc_atomic_float10_mul 2083 __kmpc_atomic_float10_div 2084 + %endif __kmpc_atomic_cmplx4_add 2085 __kmpc_atomic_cmplx4_sub 2086 @@ -702,10 +703,12 @@ __kmpc_atomic_cmplx8_sub 2090 __kmpc_atomic_cmplx8_mul 2091 __kmpc_atomic_cmplx8_div 2092 + %ifdef IS_IA_ARCH __kmpc_atomic_cmplx10_add 2093 __kmpc_atomic_cmplx10_sub 2094 __kmpc_atomic_cmplx10_mul 2095 __kmpc_atomic_cmplx10_div 2096 + %endif %ifdef HAVE_QUAD __kmpc_atomic_cmplx16_add 2097 __kmpc_atomic_cmplx16_sub 2098 @@ -753,11 +756,13 @@ __kmpc_atomic_float8_mul_fp 2133 __kmpc_atomic_float8_div_fp 2134 + %ifdef IS_IA_ARCH __kmpc_atomic_float10_add_fp 2135 __kmpc_atomic_float10_sub_fp 2136 __kmpc_atomic_float10_mul_fp 2137 __kmpc_atomic_float10_div_fp 2138 %endif + %endif __kmpc_atomic_fixed1_mul_float8 2169 __kmpc_atomic_fixed1_div_float8 2170 @@ -785,9 +790,13 @@ __kmpc_atomic_2 2248 #__kmpc_atomic_4 # declared above #100 #__kmpc_atomic_8 # declared above #101 + %ifdef IS_IA_ARCH __kmpc_atomic_10 2251 + %endif __kmpc_atomic_16 2252 + %ifdef IS_IA_ARCH __kmpc_atomic_20 2253 + %endif __kmpc_atomic_32 2254 %ifdef arch_32 @@ -809,8 +818,7 @@ %endif # These are specific to x86 and x64 - %ifndef arch_64 - %ifndef arch_aarch64 + %ifdef IS_IA_ARCH # ATOMIC extensions for OpenMP 3.1 spec (x86 and x64 only) @@ -1214,8 +1222,7 @@ __kmpc_atomic_float10_div_cpt_rev_fp %endif - %endif # arch_aarch64 - %endif # arch_64 + %endif # IS_IA_ARCH %ifdef HAVE_QUAD __kmpc_atomic_fixed1u_add_fp @@ -1233,8 +1240,10 @@ %endif # OpenMP 5.1 atomics + %ifdef IS_IA_ARCH __kmpc_atomic_float10_max 2139 __kmpc_atomic_float10_min 2140 + %endif __kmpc_atomic_float10_max_cpt 2141 __kmpc_atomic_float10_min_cpt 2142