@cpp-linter/clang-tidy-win32-x64 13.0.0 → 14.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/clang-tidy.exe +2 -2
- package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_complex_builtins.h +3 -3
- package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_intrinsics.h +32 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_libdevice_declares.h +6 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_math.h +1 -1
- package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_runtime_wrapper.h +62 -7
- package/lib/clang/14.0.0/include/__clang_cuda_texture_intrinsics.h +740 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_hip_runtime_wrapper.h +17 -4
- package/lib/clang/{13.0.0 → 14.0.0}/include/__wmmintrin_aes.h +1 -1
- package/lib/clang/{13.0.0 → 14.0.0}/include/altivec.h +202 -92
- package/lib/clang/{13.0.0 → 14.0.0}/include/ammintrin.h +4 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/amxintrin.h +17 -16
- package/lib/clang/{13.0.0 → 14.0.0}/include/arm_acle.h +6 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/arm_neon.h +4467 -4469
- package/lib/clang/14.0.0/include/arm_neon_sve_bridge.h +184 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx2intrin.h +181 -181
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512bf16intrin.h +3 -3
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512bwintrin.h +71 -71
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512dqintrin.h +365 -365
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512erintrin.h +102 -102
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512fintrin.h +1573 -1569
- package/lib/clang/14.0.0/include/avx512fp16intrin.h +3349 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vbmi2intrin.h +48 -48
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlbf16intrin.h +51 -3
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlbwintrin.h +94 -94
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vldqintrin.h +134 -134
- package/lib/clang/14.0.0/include/avx512vlfp16intrin.h +2068 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlintrin.h +563 -563
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlvbmi2intrin.h +96 -96
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlvnniintrin.h +8 -8
- package/lib/clang/{13.0.0 → 14.0.0}/include/avxintrin.h +189 -192
- package/lib/clang/{13.0.0 → 14.0.0}/include/cetintrin.h +10 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/cpuid.h +2 -1
- package/lib/clang/14.0.0/include/crc32intrin.h +100 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/emmintrin.h +21 -17
- package/lib/clang/{13.0.0 → 14.0.0}/include/f16cintrin.h +4 -4
- package/lib/clang/{13.0.0 → 14.0.0}/include/float.h +15 -6
- package/lib/clang/{13.0.0 → 14.0.0}/include/gfniintrin.h +47 -48
- package/lib/clang/{13.0.0 → 14.0.0}/include/hexagon_protos.h +0 -11
- package/lib/clang/{13.0.0 → 14.0.0}/include/hexagon_types.h +0 -32
- package/lib/clang/{13.0.0 → 14.0.0}/include/hvx_hexagon_protos.h +1200 -409
- package/lib/clang/{13.0.0 → 14.0.0}/include/ia32intrin.h +6 -6
- package/lib/clang/{13.0.0 → 14.0.0}/include/immintrin.h +26 -8
- package/lib/clang/{13.0.0 → 14.0.0}/include/intrin.h +24 -16
- package/lib/clang/{13.0.0 → 14.0.0}/include/keylockerintrin.h +2 -8
- package/lib/clang/{13.0.0 → 14.0.0}/include/limits.h +20 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/mmintrin.h +4 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/nmmintrin.h +4 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/opencl-c-base.h +69 -11
- package/lib/clang/{13.0.0 → 14.0.0}/include/opencl-c.h +1699 -459
- package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/complex +10 -1
- package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/complex.h +9 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/pmmintrin.h +4 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/emmintrin.h +3 -2
- package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/mm_malloc.h +2 -2
- package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/mmintrin.h +3 -2
- package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/pmmintrin.h +3 -2
- package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/smmintrin.h +4 -3
- package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/tmmintrin.h +3 -2
- package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/xmmintrin.h +3 -2
- package/lib/clang/{13.0.0 → 14.0.0}/include/prfchwintrin.h +5 -2
- package/lib/clang/14.0.0/include/riscv_vector.h +95423 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/smmintrin.h +80 -159
- package/lib/clang/{13.0.0 → 14.0.0}/include/stdatomic.h +14 -1
- package/lib/clang/{13.0.0 → 14.0.0}/include/stdint.h +168 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/tmmintrin.h +10 -6
- package/lib/clang/{13.0.0 → 14.0.0}/include/unwind.h +2 -1
- package/lib/clang/{13.0.0 → 14.0.0}/include/vaesintrin.h +1 -1
- package/lib/clang/{13.0.0 → 14.0.0}/include/vpclmulqdqintrin.h +6 -6
- package/lib/clang/{13.0.0 → 14.0.0}/include/wasm_simd128.h +167 -24
- package/lib/clang/{13.0.0 → 14.0.0}/include/wmmintrin.h +4 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/x86gprintrin.h +12 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/xmmintrin.h +9 -5
- package/lib/clang/{13.0.0 → 14.0.0}/include/xopintrin.h +31 -31
- package/package.json +6 -6
- package/lib/clang/13.0.0/include/riscv_vector.h +0 -123865
- /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_device_functions.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_hip_cmath.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_hip_libdevice_declares.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_hip_math.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/adxintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/arm64intr.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/arm_bf16.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/arm_cde.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/arm_cmse.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/arm_fp16.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/arm_mve.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/arm_sve.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/armintr.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512bitalgintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512cdintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512ifmaintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512ifmavlintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512pfintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vbmiintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vbmivlintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlbitalgintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlcdintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vnniintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vp2intersectintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vpopcntdqintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vpopcntdqvlintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/bmiintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/builtins.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/cet.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/clwbintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/clzerointrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/fma4intrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/fmaintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/hresetintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/htmintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/inttypes.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/iso646.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/lwpintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/mm3dnow.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/mm_malloc.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/module.modulemap +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/movdirintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/msa.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/pkuintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/popcntintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/rtmintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/s390intrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/serializeintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/sgxintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/shaintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/stdalign.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/stdarg.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/stdbool.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/stddef.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/stdnoreturn.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/tbmintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/tgmath.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/uintrintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/vadefs.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/varargs.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/vecintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/x86intrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/xtestintrin.h +0 -0
|
@@ -26,6 +26,10 @@ typedef unsigned short __v32hu __attribute__((__vector_size__(64)));
|
|
|
26
26
|
typedef unsigned long long __v8du __attribute__((__vector_size__(64)));
|
|
27
27
|
typedef unsigned int __v16su __attribute__((__vector_size__(64)));
|
|
28
28
|
|
|
29
|
+
/* We need an explicitly signed variant for char. Note that this shouldn't
|
|
30
|
+
* appear in the interface though. */
|
|
31
|
+
typedef signed char __v64qs __attribute__((__vector_size__(64)));
|
|
32
|
+
|
|
29
33
|
typedef float __m512 __attribute__((__vector_size__(64), __aligned__(64)));
|
|
30
34
|
typedef double __m512d __attribute__((__vector_size__(64), __aligned__(64)));
|
|
31
35
|
typedef long long __m512i __attribute__((__vector_size__(64), __aligned__(64)));
|
|
@@ -937,18 +941,18 @@ _mm512_maskz_sub_epi32(__mmask16 __U, __m512i __A, __m512i __B)
|
|
|
937
941
|
}
|
|
938
942
|
|
|
939
943
|
#define _mm512_max_round_pd(A, B, R) \
|
|
940
|
-
(__m512d)__builtin_ia32_maxpd512((__v8df)(__m512d)(A), \
|
|
941
|
-
|
|
944
|
+
((__m512d)__builtin_ia32_maxpd512((__v8df)(__m512d)(A), \
|
|
945
|
+
(__v8df)(__m512d)(B), (int)(R)))
|
|
942
946
|
|
|
943
947
|
#define _mm512_mask_max_round_pd(W, U, A, B, R) \
|
|
944
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
948
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
945
949
|
(__v8df)_mm512_max_round_pd((A), (B), (R)), \
|
|
946
|
-
(__v8df)(W))
|
|
950
|
+
(__v8df)(W)))
|
|
947
951
|
|
|
948
952
|
#define _mm512_maskz_max_round_pd(U, A, B, R) \
|
|
949
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
953
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
950
954
|
(__v8df)_mm512_max_round_pd((A), (B), (R)), \
|
|
951
|
-
(__v8df)_mm512_setzero_pd())
|
|
955
|
+
(__v8df)_mm512_setzero_pd()))
|
|
952
956
|
|
|
953
957
|
static __inline__ __m512d __DEFAULT_FN_ATTRS512
|
|
954
958
|
_mm512_max_pd(__m512d __A, __m512d __B)
|
|
@@ -974,18 +978,18 @@ _mm512_maskz_max_pd (__mmask8 __U, __m512d __A, __m512d __B)
|
|
|
974
978
|
}
|
|
975
979
|
|
|
976
980
|
#define _mm512_max_round_ps(A, B, R) \
|
|
977
|
-
(__m512)__builtin_ia32_maxps512((__v16sf)(__m512)(A), \
|
|
978
|
-
|
|
981
|
+
((__m512)__builtin_ia32_maxps512((__v16sf)(__m512)(A), \
|
|
982
|
+
(__v16sf)(__m512)(B), (int)(R)))
|
|
979
983
|
|
|
980
984
|
#define _mm512_mask_max_round_ps(W, U, A, B, R) \
|
|
981
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
985
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
982
986
|
(__v16sf)_mm512_max_round_ps((A), (B), (R)), \
|
|
983
|
-
(__v16sf)(W))
|
|
987
|
+
(__v16sf)(W)))
|
|
984
988
|
|
|
985
989
|
#define _mm512_maskz_max_round_ps(U, A, B, R) \
|
|
986
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
990
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
987
991
|
(__v16sf)_mm512_max_round_ps((A), (B), (R)), \
|
|
988
|
-
(__v16sf)_mm512_setzero_ps())
|
|
992
|
+
(__v16sf)_mm512_setzero_ps()))
|
|
989
993
|
|
|
990
994
|
static __inline__ __m512 __DEFAULT_FN_ATTRS512
|
|
991
995
|
_mm512_max_ps(__m512 __A, __m512 __B)
|
|
@@ -1029,22 +1033,22 @@ _mm_maskz_max_ss(__mmask8 __U,__m128 __A, __m128 __B) {
|
|
|
1029
1033
|
}
|
|
1030
1034
|
|
|
1031
1035
|
#define _mm_max_round_ss(A, B, R) \
|
|
1032
|
-
(__m128)__builtin_ia32_maxss_round_mask((__v4sf)(__m128)(A), \
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
+
((__m128)__builtin_ia32_maxss_round_mask((__v4sf)(__m128)(A), \
|
|
1037
|
+
(__v4sf)(__m128)(B), \
|
|
1038
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
1039
|
+
(__mmask8)-1, (int)(R)))
|
|
1036
1040
|
|
|
1037
1041
|
#define _mm_mask_max_round_ss(W, U, A, B, R) \
|
|
1038
|
-
(__m128)__builtin_ia32_maxss_round_mask((__v4sf)(__m128)(A), \
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
+
((__m128)__builtin_ia32_maxss_round_mask((__v4sf)(__m128)(A), \
|
|
1043
|
+
(__v4sf)(__m128)(B), \
|
|
1044
|
+
(__v4sf)(__m128)(W), (__mmask8)(U), \
|
|
1045
|
+
(int)(R)))
|
|
1042
1046
|
|
|
1043
1047
|
#define _mm_maskz_max_round_ss(U, A, B, R) \
|
|
1044
|
-
(__m128)__builtin_ia32_maxss_round_mask((__v4sf)(__m128)(A), \
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
+
((__m128)__builtin_ia32_maxss_round_mask((__v4sf)(__m128)(A), \
|
|
1049
|
+
(__v4sf)(__m128)(B), \
|
|
1050
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
1051
|
+
(__mmask8)(U), (int)(R)))
|
|
1048
1052
|
|
|
1049
1053
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
1050
1054
|
_mm_mask_max_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
|
|
@@ -1065,28 +1069,28 @@ _mm_maskz_max_sd(__mmask8 __U,__m128d __A, __m128d __B) {
|
|
|
1065
1069
|
}
|
|
1066
1070
|
|
|
1067
1071
|
#define _mm_max_round_sd(A, B, R) \
|
|
1068
|
-
(__m128d)__builtin_ia32_maxsd_round_mask((__v2df)(__m128d)(A), \
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
+
((__m128d)__builtin_ia32_maxsd_round_mask((__v2df)(__m128d)(A), \
|
|
1073
|
+
(__v2df)(__m128d)(B), \
|
|
1074
|
+
(__v2df)_mm_setzero_pd(), \
|
|
1075
|
+
(__mmask8)-1, (int)(R)))
|
|
1072
1076
|
|
|
1073
1077
|
#define _mm_mask_max_round_sd(W, U, A, B, R) \
|
|
1074
|
-
(__m128d)__builtin_ia32_maxsd_round_mask((__v2df)(__m128d)(A), \
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
+
((__m128d)__builtin_ia32_maxsd_round_mask((__v2df)(__m128d)(A), \
|
|
1079
|
+
(__v2df)(__m128d)(B), \
|
|
1080
|
+
(__v2df)(__m128d)(W), \
|
|
1081
|
+
(__mmask8)(U), (int)(R)))
|
|
1078
1082
|
|
|
1079
1083
|
#define _mm_maskz_max_round_sd(U, A, B, R) \
|
|
1080
|
-
(__m128d)__builtin_ia32_maxsd_round_mask((__v2df)(__m128d)(A), \
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
+
((__m128d)__builtin_ia32_maxsd_round_mask((__v2df)(__m128d)(A), \
|
|
1085
|
+
(__v2df)(__m128d)(B), \
|
|
1086
|
+
(__v2df)_mm_setzero_pd(), \
|
|
1087
|
+
(__mmask8)(U), (int)(R)))
|
|
1084
1088
|
|
|
1085
1089
|
static __inline __m512i
|
|
1086
1090
|
__DEFAULT_FN_ATTRS512
|
|
1087
1091
|
_mm512_max_epi32(__m512i __A, __m512i __B)
|
|
1088
1092
|
{
|
|
1089
|
-
return (__m512i)
|
|
1093
|
+
return (__m512i)__builtin_elementwise_max((__v16si)__A, (__v16si)__B);
|
|
1090
1094
|
}
|
|
1091
1095
|
|
|
1092
1096
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -1108,7 +1112,7 @@ _mm512_maskz_max_epi32 (__mmask16 __M, __m512i __A, __m512i __B)
|
|
|
1108
1112
|
static __inline __m512i __DEFAULT_FN_ATTRS512
|
|
1109
1113
|
_mm512_max_epu32(__m512i __A, __m512i __B)
|
|
1110
1114
|
{
|
|
1111
|
-
return (__m512i)
|
|
1115
|
+
return (__m512i)__builtin_elementwise_max((__v16su)__A, (__v16su)__B);
|
|
1112
1116
|
}
|
|
1113
1117
|
|
|
1114
1118
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -1130,7 +1134,7 @@ _mm512_maskz_max_epu32 (__mmask16 __M, __m512i __A, __m512i __B)
|
|
|
1130
1134
|
static __inline __m512i __DEFAULT_FN_ATTRS512
|
|
1131
1135
|
_mm512_max_epi64(__m512i __A, __m512i __B)
|
|
1132
1136
|
{
|
|
1133
|
-
return (__m512i)
|
|
1137
|
+
return (__m512i)__builtin_elementwise_max((__v8di)__A, (__v8di)__B);
|
|
1134
1138
|
}
|
|
1135
1139
|
|
|
1136
1140
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -1152,7 +1156,7 @@ _mm512_maskz_max_epi64 (__mmask8 __M, __m512i __A, __m512i __B)
|
|
|
1152
1156
|
static __inline __m512i __DEFAULT_FN_ATTRS512
|
|
1153
1157
|
_mm512_max_epu64(__m512i __A, __m512i __B)
|
|
1154
1158
|
{
|
|
1155
|
-
return (__m512i)
|
|
1159
|
+
return (__m512i)__builtin_elementwise_max((__v8du)__A, (__v8du)__B);
|
|
1156
1160
|
}
|
|
1157
1161
|
|
|
1158
1162
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -1172,18 +1176,18 @@ _mm512_maskz_max_epu64 (__mmask8 __M, __m512i __A, __m512i __B)
|
|
|
1172
1176
|
}
|
|
1173
1177
|
|
|
1174
1178
|
#define _mm512_min_round_pd(A, B, R) \
|
|
1175
|
-
(__m512d)__builtin_ia32_minpd512((__v8df)(__m512d)(A), \
|
|
1176
|
-
|
|
1179
|
+
((__m512d)__builtin_ia32_minpd512((__v8df)(__m512d)(A), \
|
|
1180
|
+
(__v8df)(__m512d)(B), (int)(R)))
|
|
1177
1181
|
|
|
1178
1182
|
#define _mm512_mask_min_round_pd(W, U, A, B, R) \
|
|
1179
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
1183
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
1180
1184
|
(__v8df)_mm512_min_round_pd((A), (B), (R)), \
|
|
1181
|
-
(__v8df)(W))
|
|
1185
|
+
(__v8df)(W)))
|
|
1182
1186
|
|
|
1183
1187
|
#define _mm512_maskz_min_round_pd(U, A, B, R) \
|
|
1184
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
1188
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
1185
1189
|
(__v8df)_mm512_min_round_pd((A), (B), (R)), \
|
|
1186
|
-
(__v8df)_mm512_setzero_pd())
|
|
1190
|
+
(__v8df)_mm512_setzero_pd()))
|
|
1187
1191
|
|
|
1188
1192
|
static __inline__ __m512d __DEFAULT_FN_ATTRS512
|
|
1189
1193
|
_mm512_min_pd(__m512d __A, __m512d __B)
|
|
@@ -1209,18 +1213,18 @@ _mm512_maskz_min_pd (__mmask8 __U, __m512d __A, __m512d __B)
|
|
|
1209
1213
|
}
|
|
1210
1214
|
|
|
1211
1215
|
#define _mm512_min_round_ps(A, B, R) \
|
|
1212
|
-
(__m512)__builtin_ia32_minps512((__v16sf)(__m512)(A), \
|
|
1213
|
-
|
|
1216
|
+
((__m512)__builtin_ia32_minps512((__v16sf)(__m512)(A), \
|
|
1217
|
+
(__v16sf)(__m512)(B), (int)(R)))
|
|
1214
1218
|
|
|
1215
1219
|
#define _mm512_mask_min_round_ps(W, U, A, B, R) \
|
|
1216
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
1220
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
1217
1221
|
(__v16sf)_mm512_min_round_ps((A), (B), (R)), \
|
|
1218
|
-
(__v16sf)(W))
|
|
1222
|
+
(__v16sf)(W)))
|
|
1219
1223
|
|
|
1220
1224
|
#define _mm512_maskz_min_round_ps(U, A, B, R) \
|
|
1221
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
1225
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
1222
1226
|
(__v16sf)_mm512_min_round_ps((A), (B), (R)), \
|
|
1223
|
-
(__v16sf)_mm512_setzero_ps())
|
|
1227
|
+
(__v16sf)_mm512_setzero_ps()))
|
|
1224
1228
|
|
|
1225
1229
|
static __inline__ __m512 __DEFAULT_FN_ATTRS512
|
|
1226
1230
|
_mm512_min_ps(__m512 __A, __m512 __B)
|
|
@@ -1264,22 +1268,22 @@ _mm_maskz_min_ss(__mmask8 __U,__m128 __A, __m128 __B) {
|
|
|
1264
1268
|
}
|
|
1265
1269
|
|
|
1266
1270
|
#define _mm_min_round_ss(A, B, R) \
|
|
1267
|
-
(__m128)__builtin_ia32_minss_round_mask((__v4sf)(__m128)(A), \
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
+
((__m128)__builtin_ia32_minss_round_mask((__v4sf)(__m128)(A), \
|
|
1272
|
+
(__v4sf)(__m128)(B), \
|
|
1273
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
1274
|
+
(__mmask8)-1, (int)(R)))
|
|
1271
1275
|
|
|
1272
1276
|
#define _mm_mask_min_round_ss(W, U, A, B, R) \
|
|
1273
|
-
(__m128)__builtin_ia32_minss_round_mask((__v4sf)(__m128)(A), \
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
+
((__m128)__builtin_ia32_minss_round_mask((__v4sf)(__m128)(A), \
|
|
1278
|
+
(__v4sf)(__m128)(B), \
|
|
1279
|
+
(__v4sf)(__m128)(W), (__mmask8)(U), \
|
|
1280
|
+
(int)(R)))
|
|
1277
1281
|
|
|
1278
1282
|
#define _mm_maskz_min_round_ss(U, A, B, R) \
|
|
1279
|
-
(__m128)__builtin_ia32_minss_round_mask((__v4sf)(__m128)(A), \
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
+
((__m128)__builtin_ia32_minss_round_mask((__v4sf)(__m128)(A), \
|
|
1284
|
+
(__v4sf)(__m128)(B), \
|
|
1285
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
1286
|
+
(__mmask8)(U), (int)(R)))
|
|
1283
1287
|
|
|
1284
1288
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
1285
1289
|
_mm_mask_min_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
|
|
@@ -1300,28 +1304,28 @@ _mm_maskz_min_sd(__mmask8 __U,__m128d __A, __m128d __B) {
|
|
|
1300
1304
|
}
|
|
1301
1305
|
|
|
1302
1306
|
#define _mm_min_round_sd(A, B, R) \
|
|
1303
|
-
(__m128d)__builtin_ia32_minsd_round_mask((__v2df)(__m128d)(A), \
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
+
((__m128d)__builtin_ia32_minsd_round_mask((__v2df)(__m128d)(A), \
|
|
1308
|
+
(__v2df)(__m128d)(B), \
|
|
1309
|
+
(__v2df)_mm_setzero_pd(), \
|
|
1310
|
+
(__mmask8)-1, (int)(R)))
|
|
1307
1311
|
|
|
1308
1312
|
#define _mm_mask_min_round_sd(W, U, A, B, R) \
|
|
1309
|
-
(__m128d)__builtin_ia32_minsd_round_mask((__v2df)(__m128d)(A), \
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
+
((__m128d)__builtin_ia32_minsd_round_mask((__v2df)(__m128d)(A), \
|
|
1314
|
+
(__v2df)(__m128d)(B), \
|
|
1315
|
+
(__v2df)(__m128d)(W), \
|
|
1316
|
+
(__mmask8)(U), (int)(R)))
|
|
1313
1317
|
|
|
1314
1318
|
#define _mm_maskz_min_round_sd(U, A, B, R) \
|
|
1315
|
-
(__m128d)__builtin_ia32_minsd_round_mask((__v2df)(__m128d)(A), \
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
+
((__m128d)__builtin_ia32_minsd_round_mask((__v2df)(__m128d)(A), \
|
|
1320
|
+
(__v2df)(__m128d)(B), \
|
|
1321
|
+
(__v2df)_mm_setzero_pd(), \
|
|
1322
|
+
(__mmask8)(U), (int)(R)))
|
|
1319
1323
|
|
|
1320
1324
|
static __inline __m512i
|
|
1321
1325
|
__DEFAULT_FN_ATTRS512
|
|
1322
1326
|
_mm512_min_epi32(__m512i __A, __m512i __B)
|
|
1323
1327
|
{
|
|
1324
|
-
return (__m512i)
|
|
1328
|
+
return (__m512i)__builtin_elementwise_min((__v16si)__A, (__v16si)__B);
|
|
1325
1329
|
}
|
|
1326
1330
|
|
|
1327
1331
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -1343,7 +1347,7 @@ _mm512_maskz_min_epi32 (__mmask16 __M, __m512i __A, __m512i __B)
|
|
|
1343
1347
|
static __inline __m512i __DEFAULT_FN_ATTRS512
|
|
1344
1348
|
_mm512_min_epu32(__m512i __A, __m512i __B)
|
|
1345
1349
|
{
|
|
1346
|
-
return (__m512i)
|
|
1350
|
+
return (__m512i)__builtin_elementwise_min((__v16su)__A, (__v16su)__B);
|
|
1347
1351
|
}
|
|
1348
1352
|
|
|
1349
1353
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -1365,7 +1369,7 @@ _mm512_maskz_min_epu32 (__mmask16 __M, __m512i __A, __m512i __B)
|
|
|
1365
1369
|
static __inline __m512i __DEFAULT_FN_ATTRS512
|
|
1366
1370
|
_mm512_min_epi64(__m512i __A, __m512i __B)
|
|
1367
1371
|
{
|
|
1368
|
-
return (__m512i)
|
|
1372
|
+
return (__m512i)__builtin_elementwise_min((__v8di)__A, (__v8di)__B);
|
|
1369
1373
|
}
|
|
1370
1374
|
|
|
1371
1375
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -1387,7 +1391,7 @@ _mm512_maskz_min_epi64 (__mmask8 __M, __m512i __A, __m512i __B)
|
|
|
1387
1391
|
static __inline __m512i __DEFAULT_FN_ATTRS512
|
|
1388
1392
|
_mm512_min_epu64(__m512i __A, __m512i __B)
|
|
1389
1393
|
{
|
|
1390
|
-
return (__m512i)
|
|
1394
|
+
return (__m512i)__builtin_elementwise_min((__v8du)__A, (__v8du)__B);
|
|
1391
1395
|
}
|
|
1392
1396
|
|
|
1393
1397
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -1485,17 +1489,17 @@ _mm512_mask_mullox_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) {
|
|
|
1485
1489
|
}
|
|
1486
1490
|
|
|
1487
1491
|
#define _mm512_sqrt_round_pd(A, R) \
|
|
1488
|
-
(__m512d)__builtin_ia32_sqrtpd512((__v8df)(__m512d)(A), (int)(R))
|
|
1492
|
+
((__m512d)__builtin_ia32_sqrtpd512((__v8df)(__m512d)(A), (int)(R)))
|
|
1489
1493
|
|
|
1490
1494
|
#define _mm512_mask_sqrt_round_pd(W, U, A, R) \
|
|
1491
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
1495
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
1492
1496
|
(__v8df)_mm512_sqrt_round_pd((A), (R)), \
|
|
1493
|
-
(__v8df)(__m512d)(W))
|
|
1497
|
+
(__v8df)(__m512d)(W)))
|
|
1494
1498
|
|
|
1495
1499
|
#define _mm512_maskz_sqrt_round_pd(U, A, R) \
|
|
1496
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
1500
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
1497
1501
|
(__v8df)_mm512_sqrt_round_pd((A), (R)), \
|
|
1498
|
-
(__v8df)_mm512_setzero_pd())
|
|
1502
|
+
(__v8df)_mm512_setzero_pd()))
|
|
1499
1503
|
|
|
1500
1504
|
static __inline__ __m512d __DEFAULT_FN_ATTRS512
|
|
1501
1505
|
_mm512_sqrt_pd(__m512d __A)
|
|
@@ -1521,17 +1525,17 @@ _mm512_maskz_sqrt_pd (__mmask8 __U, __m512d __A)
|
|
|
1521
1525
|
}
|
|
1522
1526
|
|
|
1523
1527
|
#define _mm512_sqrt_round_ps(A, R) \
|
|
1524
|
-
(__m512)__builtin_ia32_sqrtps512((__v16sf)(__m512)(A), (int)(R))
|
|
1528
|
+
((__m512)__builtin_ia32_sqrtps512((__v16sf)(__m512)(A), (int)(R)))
|
|
1525
1529
|
|
|
1526
1530
|
#define _mm512_mask_sqrt_round_ps(W, U, A, R) \
|
|
1527
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
1531
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
1528
1532
|
(__v16sf)_mm512_sqrt_round_ps((A), (R)), \
|
|
1529
|
-
(__v16sf)(__m512)(W))
|
|
1533
|
+
(__v16sf)(__m512)(W)))
|
|
1530
1534
|
|
|
1531
1535
|
#define _mm512_maskz_sqrt_round_ps(U, A, R) \
|
|
1532
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
1536
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
1533
1537
|
(__v16sf)_mm512_sqrt_round_ps((A), (R)), \
|
|
1534
|
-
(__v16sf)_mm512_setzero_ps())
|
|
1538
|
+
(__v16sf)_mm512_setzero_ps()))
|
|
1535
1539
|
|
|
1536
1540
|
static __inline__ __m512 __DEFAULT_FN_ATTRS512
|
|
1537
1541
|
_mm512_sqrt_ps(__m512 __A)
|
|
@@ -1846,7 +1850,7 @@ _mm512_mask_ceil_pd (__m512d __W, __mmask8 __U, __m512d __A)
|
|
|
1846
1850
|
static __inline __m512i __DEFAULT_FN_ATTRS512
|
|
1847
1851
|
_mm512_abs_epi64(__m512i __A)
|
|
1848
1852
|
{
|
|
1849
|
-
return (__m512i)
|
|
1853
|
+
return (__m512i)__builtin_elementwise_abs((__v8di)__A);
|
|
1850
1854
|
}
|
|
1851
1855
|
|
|
1852
1856
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -1868,7 +1872,7 @@ _mm512_maskz_abs_epi64 (__mmask8 __U, __m512i __A)
|
|
|
1868
1872
|
static __inline __m512i __DEFAULT_FN_ATTRS512
|
|
1869
1873
|
_mm512_abs_epi32(__m512i __A)
|
|
1870
1874
|
{
|
|
1871
|
-
return (__m512i)
|
|
1875
|
+
return (__m512i)__builtin_elementwise_abs((__v16si) __A);
|
|
1872
1876
|
}
|
|
1873
1877
|
|
|
1874
1878
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -1900,22 +1904,22 @@ _mm_maskz_add_ss(__mmask8 __U,__m128 __A, __m128 __B) {
|
|
|
1900
1904
|
}
|
|
1901
1905
|
|
|
1902
1906
|
#define _mm_add_round_ss(A, B, R) \
|
|
1903
|
-
(__m128)__builtin_ia32_addss_round_mask((__v4sf)(__m128)(A), \
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
+
((__m128)__builtin_ia32_addss_round_mask((__v4sf)(__m128)(A), \
|
|
1908
|
+
(__v4sf)(__m128)(B), \
|
|
1909
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
1910
|
+
(__mmask8)-1, (int)(R)))
|
|
1907
1911
|
|
|
1908
1912
|
#define _mm_mask_add_round_ss(W, U, A, B, R) \
|
|
1909
|
-
(__m128)__builtin_ia32_addss_round_mask((__v4sf)(__m128)(A), \
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
+
((__m128)__builtin_ia32_addss_round_mask((__v4sf)(__m128)(A), \
|
|
1914
|
+
(__v4sf)(__m128)(B), \
|
|
1915
|
+
(__v4sf)(__m128)(W), (__mmask8)(U), \
|
|
1916
|
+
(int)(R)))
|
|
1913
1917
|
|
|
1914
1918
|
#define _mm_maskz_add_round_ss(U, A, B, R) \
|
|
1915
|
-
(__m128)__builtin_ia32_addss_round_mask((__v4sf)(__m128)(A), \
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
+
((__m128)__builtin_ia32_addss_round_mask((__v4sf)(__m128)(A), \
|
|
1920
|
+
(__v4sf)(__m128)(B), \
|
|
1921
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
1922
|
+
(__mmask8)(U), (int)(R)))
|
|
1919
1923
|
|
|
1920
1924
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
1921
1925
|
_mm_mask_add_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
|
|
@@ -1929,22 +1933,22 @@ _mm_maskz_add_sd(__mmask8 __U,__m128d __A, __m128d __B) {
|
|
|
1929
1933
|
return __builtin_ia32_selectsd_128(__U, __A, _mm_setzero_pd());
|
|
1930
1934
|
}
|
|
1931
1935
|
#define _mm_add_round_sd(A, B, R) \
|
|
1932
|
-
(__m128d)__builtin_ia32_addsd_round_mask((__v2df)(__m128d)(A), \
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
+
((__m128d)__builtin_ia32_addsd_round_mask((__v2df)(__m128d)(A), \
|
|
1937
|
+
(__v2df)(__m128d)(B), \
|
|
1938
|
+
(__v2df)_mm_setzero_pd(), \
|
|
1939
|
+
(__mmask8)-1, (int)(R)))
|
|
1936
1940
|
|
|
1937
1941
|
#define _mm_mask_add_round_sd(W, U, A, B, R) \
|
|
1938
|
-
(__m128d)__builtin_ia32_addsd_round_mask((__v2df)(__m128d)(A), \
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
+
((__m128d)__builtin_ia32_addsd_round_mask((__v2df)(__m128d)(A), \
|
|
1943
|
+
(__v2df)(__m128d)(B), \
|
|
1944
|
+
(__v2df)(__m128d)(W), \
|
|
1945
|
+
(__mmask8)(U), (int)(R)))
|
|
1942
1946
|
|
|
1943
1947
|
#define _mm_maskz_add_round_sd(U, A, B, R) \
|
|
1944
|
-
(__m128d)__builtin_ia32_addsd_round_mask((__v2df)(__m128d)(A), \
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
+
((__m128d)__builtin_ia32_addsd_round_mask((__v2df)(__m128d)(A), \
|
|
1949
|
+
(__v2df)(__m128d)(B), \
|
|
1950
|
+
(__v2df)_mm_setzero_pd(), \
|
|
1951
|
+
(__mmask8)(U), (int)(R)))
|
|
1948
1952
|
|
|
1949
1953
|
static __inline__ __m512d __DEFAULT_FN_ATTRS512
|
|
1950
1954
|
_mm512_mask_add_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
|
|
@@ -1975,32 +1979,32 @@ _mm512_maskz_add_ps(__mmask16 __U, __m512 __A, __m512 __B) {
|
|
|
1975
1979
|
}
|
|
1976
1980
|
|
|
1977
1981
|
#define _mm512_add_round_pd(A, B, R) \
|
|
1978
|
-
(__m512d)__builtin_ia32_addpd512((__v8df)(__m512d)(A), \
|
|
1979
|
-
|
|
1982
|
+
((__m512d)__builtin_ia32_addpd512((__v8df)(__m512d)(A), \
|
|
1983
|
+
(__v8df)(__m512d)(B), (int)(R)))
|
|
1980
1984
|
|
|
1981
1985
|
#define _mm512_mask_add_round_pd(W, U, A, B, R) \
|
|
1982
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
1986
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
1983
1987
|
(__v8df)_mm512_add_round_pd((A), (B), (R)), \
|
|
1984
|
-
(__v8df)(__m512d)(W))
|
|
1988
|
+
(__v8df)(__m512d)(W)))
|
|
1985
1989
|
|
|
1986
1990
|
#define _mm512_maskz_add_round_pd(U, A, B, R) \
|
|
1987
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
1991
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
1988
1992
|
(__v8df)_mm512_add_round_pd((A), (B), (R)), \
|
|
1989
|
-
(__v8df)_mm512_setzero_pd())
|
|
1993
|
+
(__v8df)_mm512_setzero_pd()))
|
|
1990
1994
|
|
|
1991
1995
|
#define _mm512_add_round_ps(A, B, R) \
|
|
1992
|
-
(__m512)__builtin_ia32_addps512((__v16sf)(__m512)(A), \
|
|
1993
|
-
|
|
1996
|
+
((__m512)__builtin_ia32_addps512((__v16sf)(__m512)(A), \
|
|
1997
|
+
(__v16sf)(__m512)(B), (int)(R)))
|
|
1994
1998
|
|
|
1995
1999
|
#define _mm512_mask_add_round_ps(W, U, A, B, R) \
|
|
1996
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
2000
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
1997
2001
|
(__v16sf)_mm512_add_round_ps((A), (B), (R)), \
|
|
1998
|
-
(__v16sf)(__m512)(W))
|
|
2002
|
+
(__v16sf)(__m512)(W)))
|
|
1999
2003
|
|
|
2000
2004
|
#define _mm512_maskz_add_round_ps(U, A, B, R) \
|
|
2001
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
2005
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
2002
2006
|
(__v16sf)_mm512_add_round_ps((A), (B), (R)), \
|
|
2003
|
-
(__v16sf)_mm512_setzero_ps())
|
|
2007
|
+
(__v16sf)_mm512_setzero_ps()))
|
|
2004
2008
|
|
|
2005
2009
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
2006
2010
|
_mm_mask_sub_ss(__m128 __W, __mmask8 __U,__m128 __A, __m128 __B) {
|
|
@@ -2014,22 +2018,22 @@ _mm_maskz_sub_ss(__mmask8 __U,__m128 __A, __m128 __B) {
|
|
|
2014
2018
|
return __builtin_ia32_selectss_128(__U, __A, _mm_setzero_ps());
|
|
2015
2019
|
}
|
|
2016
2020
|
#define _mm_sub_round_ss(A, B, R) \
|
|
2017
|
-
(__m128)__builtin_ia32_subss_round_mask((__v4sf)(__m128)(A), \
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
+
((__m128)__builtin_ia32_subss_round_mask((__v4sf)(__m128)(A), \
|
|
2022
|
+
(__v4sf)(__m128)(B), \
|
|
2023
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
2024
|
+
(__mmask8)-1, (int)(R)))
|
|
2021
2025
|
|
|
2022
2026
|
#define _mm_mask_sub_round_ss(W, U, A, B, R) \
|
|
2023
|
-
(__m128)__builtin_ia32_subss_round_mask((__v4sf)(__m128)(A), \
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
+
((__m128)__builtin_ia32_subss_round_mask((__v4sf)(__m128)(A), \
|
|
2028
|
+
(__v4sf)(__m128)(B), \
|
|
2029
|
+
(__v4sf)(__m128)(W), (__mmask8)(U), \
|
|
2030
|
+
(int)(R)))
|
|
2027
2031
|
|
|
2028
2032
|
#define _mm_maskz_sub_round_ss(U, A, B, R) \
|
|
2029
|
-
(__m128)__builtin_ia32_subss_round_mask((__v4sf)(__m128)(A), \
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
+
((__m128)__builtin_ia32_subss_round_mask((__v4sf)(__m128)(A), \
|
|
2034
|
+
(__v4sf)(__m128)(B), \
|
|
2035
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
2036
|
+
(__mmask8)(U), (int)(R)))
|
|
2033
2037
|
|
|
2034
2038
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
2035
2039
|
_mm_mask_sub_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
|
|
@@ -2044,22 +2048,22 @@ _mm_maskz_sub_sd(__mmask8 __U,__m128d __A, __m128d __B) {
|
|
|
2044
2048
|
}
|
|
2045
2049
|
|
|
2046
2050
|
#define _mm_sub_round_sd(A, B, R) \
|
|
2047
|
-
(__m128d)__builtin_ia32_subsd_round_mask((__v2df)(__m128d)(A), \
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
+
((__m128d)__builtin_ia32_subsd_round_mask((__v2df)(__m128d)(A), \
|
|
2052
|
+
(__v2df)(__m128d)(B), \
|
|
2053
|
+
(__v2df)_mm_setzero_pd(), \
|
|
2054
|
+
(__mmask8)-1, (int)(R)))
|
|
2051
2055
|
|
|
2052
2056
|
#define _mm_mask_sub_round_sd(W, U, A, B, R) \
|
|
2053
|
-
(__m128d)__builtin_ia32_subsd_round_mask((__v2df)(__m128d)(A), \
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
+
((__m128d)__builtin_ia32_subsd_round_mask((__v2df)(__m128d)(A), \
|
|
2058
|
+
(__v2df)(__m128d)(B), \
|
|
2059
|
+
(__v2df)(__m128d)(W), \
|
|
2060
|
+
(__mmask8)(U), (int)(R)))
|
|
2057
2061
|
|
|
2058
2062
|
#define _mm_maskz_sub_round_sd(U, A, B, R) \
|
|
2059
|
-
(__m128d)__builtin_ia32_subsd_round_mask((__v2df)(__m128d)(A), \
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
+
((__m128d)__builtin_ia32_subsd_round_mask((__v2df)(__m128d)(A), \
|
|
2064
|
+
(__v2df)(__m128d)(B), \
|
|
2065
|
+
(__v2df)_mm_setzero_pd(), \
|
|
2066
|
+
(__mmask8)(U), (int)(R)))
|
|
2063
2067
|
|
|
2064
2068
|
static __inline__ __m512d __DEFAULT_FN_ATTRS512
|
|
2065
2069
|
_mm512_mask_sub_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
|
|
@@ -2090,32 +2094,32 @@ _mm512_maskz_sub_ps(__mmask16 __U, __m512 __A, __m512 __B) {
|
|
|
2090
2094
|
}
|
|
2091
2095
|
|
|
2092
2096
|
#define _mm512_sub_round_pd(A, B, R) \
|
|
2093
|
-
(__m512d)__builtin_ia32_subpd512((__v8df)(__m512d)(A), \
|
|
2094
|
-
|
|
2097
|
+
((__m512d)__builtin_ia32_subpd512((__v8df)(__m512d)(A), \
|
|
2098
|
+
(__v8df)(__m512d)(B), (int)(R)))
|
|
2095
2099
|
|
|
2096
2100
|
#define _mm512_mask_sub_round_pd(W, U, A, B, R) \
|
|
2097
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
2101
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
2098
2102
|
(__v8df)_mm512_sub_round_pd((A), (B), (R)), \
|
|
2099
|
-
(__v8df)(__m512d)(W))
|
|
2103
|
+
(__v8df)(__m512d)(W)))
|
|
2100
2104
|
|
|
2101
2105
|
#define _mm512_maskz_sub_round_pd(U, A, B, R) \
|
|
2102
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
2106
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
2103
2107
|
(__v8df)_mm512_sub_round_pd((A), (B), (R)), \
|
|
2104
|
-
(__v8df)_mm512_setzero_pd())
|
|
2108
|
+
(__v8df)_mm512_setzero_pd()))
|
|
2105
2109
|
|
|
2106
2110
|
#define _mm512_sub_round_ps(A, B, R) \
|
|
2107
|
-
(__m512)__builtin_ia32_subps512((__v16sf)(__m512)(A), \
|
|
2108
|
-
|
|
2111
|
+
((__m512)__builtin_ia32_subps512((__v16sf)(__m512)(A), \
|
|
2112
|
+
(__v16sf)(__m512)(B), (int)(R)))
|
|
2109
2113
|
|
|
2110
2114
|
#define _mm512_mask_sub_round_ps(W, U, A, B, R) \
|
|
2111
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
2115
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
2112
2116
|
(__v16sf)_mm512_sub_round_ps((A), (B), (R)), \
|
|
2113
|
-
(__v16sf)(__m512)(W))
|
|
2117
|
+
(__v16sf)(__m512)(W)))
|
|
2114
2118
|
|
|
2115
2119
|
#define _mm512_maskz_sub_round_ps(U, A, B, R) \
|
|
2116
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
2120
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
2117
2121
|
(__v16sf)_mm512_sub_round_ps((A), (B), (R)), \
|
|
2118
|
-
(__v16sf)_mm512_setzero_ps())
|
|
2122
|
+
(__v16sf)_mm512_setzero_ps()))
|
|
2119
2123
|
|
|
2120
2124
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
2121
2125
|
_mm_mask_mul_ss(__m128 __W, __mmask8 __U,__m128 __A, __m128 __B) {
|
|
@@ -2129,22 +2133,22 @@ _mm_maskz_mul_ss(__mmask8 __U,__m128 __A, __m128 __B) {
|
|
|
2129
2133
|
return __builtin_ia32_selectss_128(__U, __A, _mm_setzero_ps());
|
|
2130
2134
|
}
|
|
2131
2135
|
#define _mm_mul_round_ss(A, B, R) \
|
|
2132
|
-
(__m128)__builtin_ia32_mulss_round_mask((__v4sf)(__m128)(A), \
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
+
((__m128)__builtin_ia32_mulss_round_mask((__v4sf)(__m128)(A), \
|
|
2137
|
+
(__v4sf)(__m128)(B), \
|
|
2138
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
2139
|
+
(__mmask8)-1, (int)(R)))
|
|
2136
2140
|
|
|
2137
2141
|
#define _mm_mask_mul_round_ss(W, U, A, B, R) \
|
|
2138
|
-
(__m128)__builtin_ia32_mulss_round_mask((__v4sf)(__m128)(A), \
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
+
((__m128)__builtin_ia32_mulss_round_mask((__v4sf)(__m128)(A), \
|
|
2143
|
+
(__v4sf)(__m128)(B), \
|
|
2144
|
+
(__v4sf)(__m128)(W), (__mmask8)(U), \
|
|
2145
|
+
(int)(R)))
|
|
2142
2146
|
|
|
2143
2147
|
#define _mm_maskz_mul_round_ss(U, A, B, R) \
|
|
2144
|
-
(__m128)__builtin_ia32_mulss_round_mask((__v4sf)(__m128)(A), \
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
+
((__m128)__builtin_ia32_mulss_round_mask((__v4sf)(__m128)(A), \
|
|
2149
|
+
(__v4sf)(__m128)(B), \
|
|
2150
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
2151
|
+
(__mmask8)(U), (int)(R)))
|
|
2148
2152
|
|
|
2149
2153
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
2150
2154
|
_mm_mask_mul_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
|
|
@@ -2159,22 +2163,22 @@ _mm_maskz_mul_sd(__mmask8 __U,__m128d __A, __m128d __B) {
|
|
|
2159
2163
|
}
|
|
2160
2164
|
|
|
2161
2165
|
#define _mm_mul_round_sd(A, B, R) \
|
|
2162
|
-
(__m128d)__builtin_ia32_mulsd_round_mask((__v2df)(__m128d)(A), \
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
+
((__m128d)__builtin_ia32_mulsd_round_mask((__v2df)(__m128d)(A), \
|
|
2167
|
+
(__v2df)(__m128d)(B), \
|
|
2168
|
+
(__v2df)_mm_setzero_pd(), \
|
|
2169
|
+
(__mmask8)-1, (int)(R)))
|
|
2166
2170
|
|
|
2167
2171
|
#define _mm_mask_mul_round_sd(W, U, A, B, R) \
|
|
2168
|
-
(__m128d)__builtin_ia32_mulsd_round_mask((__v2df)(__m128d)(A), \
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
+
((__m128d)__builtin_ia32_mulsd_round_mask((__v2df)(__m128d)(A), \
|
|
2173
|
+
(__v2df)(__m128d)(B), \
|
|
2174
|
+
(__v2df)(__m128d)(W), \
|
|
2175
|
+
(__mmask8)(U), (int)(R)))
|
|
2172
2176
|
|
|
2173
2177
|
#define _mm_maskz_mul_round_sd(U, A, B, R) \
|
|
2174
|
-
(__m128d)__builtin_ia32_mulsd_round_mask((__v2df)(__m128d)(A), \
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
+
((__m128d)__builtin_ia32_mulsd_round_mask((__v2df)(__m128d)(A), \
|
|
2179
|
+
(__v2df)(__m128d)(B), \
|
|
2180
|
+
(__v2df)_mm_setzero_pd(), \
|
|
2181
|
+
(__mmask8)(U), (int)(R)))
|
|
2178
2182
|
|
|
2179
2183
|
static __inline__ __m512d __DEFAULT_FN_ATTRS512
|
|
2180
2184
|
_mm512_mask_mul_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
|
|
@@ -2205,32 +2209,32 @@ _mm512_maskz_mul_ps(__mmask16 __U, __m512 __A, __m512 __B) {
|
|
|
2205
2209
|
}
|
|
2206
2210
|
|
|
2207
2211
|
#define _mm512_mul_round_pd(A, B, R) \
|
|
2208
|
-
(__m512d)__builtin_ia32_mulpd512((__v8df)(__m512d)(A), \
|
|
2209
|
-
|
|
2212
|
+
((__m512d)__builtin_ia32_mulpd512((__v8df)(__m512d)(A), \
|
|
2213
|
+
(__v8df)(__m512d)(B), (int)(R)))
|
|
2210
2214
|
|
|
2211
2215
|
#define _mm512_mask_mul_round_pd(W, U, A, B, R) \
|
|
2212
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
2216
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
2213
2217
|
(__v8df)_mm512_mul_round_pd((A), (B), (R)), \
|
|
2214
|
-
(__v8df)(__m512d)(W))
|
|
2218
|
+
(__v8df)(__m512d)(W)))
|
|
2215
2219
|
|
|
2216
2220
|
#define _mm512_maskz_mul_round_pd(U, A, B, R) \
|
|
2217
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
2221
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
2218
2222
|
(__v8df)_mm512_mul_round_pd((A), (B), (R)), \
|
|
2219
|
-
(__v8df)_mm512_setzero_pd())
|
|
2223
|
+
(__v8df)_mm512_setzero_pd()))
|
|
2220
2224
|
|
|
2221
2225
|
#define _mm512_mul_round_ps(A, B, R) \
|
|
2222
|
-
(__m512)__builtin_ia32_mulps512((__v16sf)(__m512)(A), \
|
|
2223
|
-
(__v16sf)(__m512)(B), (int)(R))
|
|
2226
|
+
((__m512)__builtin_ia32_mulps512((__v16sf)(__m512)(A), \
|
|
2227
|
+
(__v16sf)(__m512)(B), (int)(R)))
|
|
2224
2228
|
|
|
2225
2229
|
#define _mm512_mask_mul_round_ps(W, U, A, B, R) \
|
|
2226
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
2230
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
2227
2231
|
(__v16sf)_mm512_mul_round_ps((A), (B), (R)), \
|
|
2228
|
-
(__v16sf)(__m512)(W))
|
|
2232
|
+
(__v16sf)(__m512)(W)))
|
|
2229
2233
|
|
|
2230
2234
|
#define _mm512_maskz_mul_round_ps(U, A, B, R) \
|
|
2231
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
2235
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
2232
2236
|
(__v16sf)_mm512_mul_round_ps((A), (B), (R)), \
|
|
2233
|
-
(__v16sf)_mm512_setzero_ps())
|
|
2237
|
+
(__v16sf)_mm512_setzero_ps()))
|
|
2234
2238
|
|
|
2235
2239
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
2236
2240
|
_mm_mask_div_ss(__m128 __W, __mmask8 __U,__m128 __A, __m128 __B) {
|
|
@@ -2245,22 +2249,22 @@ _mm_maskz_div_ss(__mmask8 __U,__m128 __A, __m128 __B) {
|
|
|
2245
2249
|
}
|
|
2246
2250
|
|
|
2247
2251
|
#define _mm_div_round_ss(A, B, R) \
|
|
2248
|
-
(__m128)__builtin_ia32_divss_round_mask((__v4sf)(__m128)(A), \
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
+
((__m128)__builtin_ia32_divss_round_mask((__v4sf)(__m128)(A), \
|
|
2253
|
+
(__v4sf)(__m128)(B), \
|
|
2254
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
2255
|
+
(__mmask8)-1, (int)(R)))
|
|
2252
2256
|
|
|
2253
2257
|
#define _mm_mask_div_round_ss(W, U, A, B, R) \
|
|
2254
|
-
(__m128)__builtin_ia32_divss_round_mask((__v4sf)(__m128)(A), \
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
+
((__m128)__builtin_ia32_divss_round_mask((__v4sf)(__m128)(A), \
|
|
2259
|
+
(__v4sf)(__m128)(B), \
|
|
2260
|
+
(__v4sf)(__m128)(W), (__mmask8)(U), \
|
|
2261
|
+
(int)(R)))
|
|
2258
2262
|
|
|
2259
2263
|
#define _mm_maskz_div_round_ss(U, A, B, R) \
|
|
2260
|
-
(__m128)__builtin_ia32_divss_round_mask((__v4sf)(__m128)(A), \
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
+
((__m128)__builtin_ia32_divss_round_mask((__v4sf)(__m128)(A), \
|
|
2265
|
+
(__v4sf)(__m128)(B), \
|
|
2266
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
2267
|
+
(__mmask8)(U), (int)(R)))
|
|
2264
2268
|
|
|
2265
2269
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
2266
2270
|
_mm_mask_div_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
|
|
@@ -2275,22 +2279,22 @@ _mm_maskz_div_sd(__mmask8 __U,__m128d __A, __m128d __B) {
|
|
|
2275
2279
|
}
|
|
2276
2280
|
|
|
2277
2281
|
#define _mm_div_round_sd(A, B, R) \
|
|
2278
|
-
(__m128d)__builtin_ia32_divsd_round_mask((__v2df)(__m128d)(A), \
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
+
((__m128d)__builtin_ia32_divsd_round_mask((__v2df)(__m128d)(A), \
|
|
2283
|
+
(__v2df)(__m128d)(B), \
|
|
2284
|
+
(__v2df)_mm_setzero_pd(), \
|
|
2285
|
+
(__mmask8)-1, (int)(R)))
|
|
2282
2286
|
|
|
2283
2287
|
#define _mm_mask_div_round_sd(W, U, A, B, R) \
|
|
2284
|
-
(__m128d)__builtin_ia32_divsd_round_mask((__v2df)(__m128d)(A), \
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
+
((__m128d)__builtin_ia32_divsd_round_mask((__v2df)(__m128d)(A), \
|
|
2289
|
+
(__v2df)(__m128d)(B), \
|
|
2290
|
+
(__v2df)(__m128d)(W), \
|
|
2291
|
+
(__mmask8)(U), (int)(R)))
|
|
2288
2292
|
|
|
2289
2293
|
#define _mm_maskz_div_round_sd(U, A, B, R) \
|
|
2290
|
-
(__m128d)__builtin_ia32_divsd_round_mask((__v2df)(__m128d)(A), \
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
+
((__m128d)__builtin_ia32_divsd_round_mask((__v2df)(__m128d)(A), \
|
|
2295
|
+
(__v2df)(__m128d)(B), \
|
|
2296
|
+
(__v2df)_mm_setzero_pd(), \
|
|
2297
|
+
(__mmask8)(U), (int)(R)))
|
|
2294
2298
|
|
|
2295
2299
|
static __inline __m512d __DEFAULT_FN_ATTRS512
|
|
2296
2300
|
_mm512_div_pd(__m512d __a, __m512d __b)
|
|
@@ -2333,179 +2337,179 @@ _mm512_maskz_div_ps(__mmask16 __U, __m512 __A, __m512 __B) {
|
|
|
2333
2337
|
}
|
|
2334
2338
|
|
|
2335
2339
|
#define _mm512_div_round_pd(A, B, R) \
|
|
2336
|
-
(__m512d)__builtin_ia32_divpd512((__v8df)(__m512d)(A), \
|
|
2337
|
-
|
|
2340
|
+
((__m512d)__builtin_ia32_divpd512((__v8df)(__m512d)(A), \
|
|
2341
|
+
(__v8df)(__m512d)(B), (int)(R)))
|
|
2338
2342
|
|
|
2339
2343
|
#define _mm512_mask_div_round_pd(W, U, A, B, R) \
|
|
2340
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
2344
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
2341
2345
|
(__v8df)_mm512_div_round_pd((A), (B), (R)), \
|
|
2342
|
-
(__v8df)(__m512d)(W))
|
|
2346
|
+
(__v8df)(__m512d)(W)))
|
|
2343
2347
|
|
|
2344
2348
|
#define _mm512_maskz_div_round_pd(U, A, B, R) \
|
|
2345
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
2349
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
2346
2350
|
(__v8df)_mm512_div_round_pd((A), (B), (R)), \
|
|
2347
|
-
(__v8df)_mm512_setzero_pd())
|
|
2351
|
+
(__v8df)_mm512_setzero_pd()))
|
|
2348
2352
|
|
|
2349
2353
|
#define _mm512_div_round_ps(A, B, R) \
|
|
2350
|
-
(__m512)__builtin_ia32_divps512((__v16sf)(__m512)(A), \
|
|
2351
|
-
|
|
2354
|
+
((__m512)__builtin_ia32_divps512((__v16sf)(__m512)(A), \
|
|
2355
|
+
(__v16sf)(__m512)(B), (int)(R)))
|
|
2352
2356
|
|
|
2353
2357
|
#define _mm512_mask_div_round_ps(W, U, A, B, R) \
|
|
2354
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
2358
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
2355
2359
|
(__v16sf)_mm512_div_round_ps((A), (B), (R)), \
|
|
2356
|
-
(__v16sf)(__m512)(W))
|
|
2360
|
+
(__v16sf)(__m512)(W)))
|
|
2357
2361
|
|
|
2358
2362
|
#define _mm512_maskz_div_round_ps(U, A, B, R) \
|
|
2359
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
2363
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
2360
2364
|
(__v16sf)_mm512_div_round_ps((A), (B), (R)), \
|
|
2361
|
-
(__v16sf)_mm512_setzero_ps())
|
|
2365
|
+
(__v16sf)_mm512_setzero_ps()))
|
|
2362
2366
|
|
|
2363
2367
|
#define _mm512_roundscale_ps(A, B) \
|
|
2364
|
-
(__m512)__builtin_ia32_rndscaleps_mask((__v16sf)(__m512)(A), (int)(B), \
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
+
((__m512)__builtin_ia32_rndscaleps_mask((__v16sf)(__m512)(A), (int)(B), \
|
|
2369
|
+
(__v16sf)_mm512_undefined_ps(), \
|
|
2370
|
+
(__mmask16)-1, \
|
|
2371
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
2368
2372
|
|
|
2369
2373
|
#define _mm512_mask_roundscale_ps(A, B, C, imm) \
|
|
2370
|
-
(__m512)__builtin_ia32_rndscaleps_mask((__v16sf)(__m512)(C), (int)(imm), \
|
|
2374
|
+
((__m512)__builtin_ia32_rndscaleps_mask((__v16sf)(__m512)(C), (int)(imm), \
|
|
2371
2375
|
(__v16sf)(__m512)(A), (__mmask16)(B), \
|
|
2372
|
-
_MM_FROUND_CUR_DIRECTION)
|
|
2376
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
2373
2377
|
|
|
2374
2378
|
#define _mm512_maskz_roundscale_ps(A, B, imm) \
|
|
2375
|
-
(__m512)__builtin_ia32_rndscaleps_mask((__v16sf)(__m512)(B), (int)(imm), \
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
+
((__m512)__builtin_ia32_rndscaleps_mask((__v16sf)(__m512)(B), (int)(imm), \
|
|
2380
|
+
(__v16sf)_mm512_setzero_ps(), \
|
|
2381
|
+
(__mmask16)(A), \
|
|
2382
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
2379
2383
|
|
|
2380
2384
|
#define _mm512_mask_roundscale_round_ps(A, B, C, imm, R) \
|
|
2381
|
-
(__m512)__builtin_ia32_rndscaleps_mask((__v16sf)(__m512)(C), (int)(imm), \
|
|
2385
|
+
((__m512)__builtin_ia32_rndscaleps_mask((__v16sf)(__m512)(C), (int)(imm), \
|
|
2382
2386
|
(__v16sf)(__m512)(A), (__mmask16)(B), \
|
|
2383
|
-
(int)(R))
|
|
2387
|
+
(int)(R)))
|
|
2384
2388
|
|
|
2385
2389
|
#define _mm512_maskz_roundscale_round_ps(A, B, imm, R) \
|
|
2386
|
-
(__m512)__builtin_ia32_rndscaleps_mask((__v16sf)(__m512)(B), (int)(imm), \
|
|
2387
|
-
|
|
2388
|
-
|
|
2390
|
+
((__m512)__builtin_ia32_rndscaleps_mask((__v16sf)(__m512)(B), (int)(imm), \
|
|
2391
|
+
(__v16sf)_mm512_setzero_ps(), \
|
|
2392
|
+
(__mmask16)(A), (int)(R)))
|
|
2389
2393
|
|
|
2390
2394
|
#define _mm512_roundscale_round_ps(A, imm, R) \
|
|
2391
|
-
(__m512)__builtin_ia32_rndscaleps_mask((__v16sf)(__m512)(A), (int)(imm), \
|
|
2392
|
-
|
|
2393
|
-
|
|
2395
|
+
((__m512)__builtin_ia32_rndscaleps_mask((__v16sf)(__m512)(A), (int)(imm), \
|
|
2396
|
+
(__v16sf)_mm512_undefined_ps(), \
|
|
2397
|
+
(__mmask16)-1, (int)(R)))
|
|
2394
2398
|
|
|
2395
2399
|
#define _mm512_roundscale_pd(A, B) \
|
|
2396
|
-
(__m512d)__builtin_ia32_rndscalepd_mask((__v8df)(__m512d)(A), (int)(B), \
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
+
((__m512d)__builtin_ia32_rndscalepd_mask((__v8df)(__m512d)(A), (int)(B), \
|
|
2401
|
+
(__v8df)_mm512_undefined_pd(), \
|
|
2402
|
+
(__mmask8)-1, \
|
|
2403
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
2400
2404
|
|
|
2401
2405
|
#define _mm512_mask_roundscale_pd(A, B, C, imm) \
|
|
2402
|
-
(__m512d)__builtin_ia32_rndscalepd_mask((__v8df)(__m512d)(C), (int)(imm), \
|
|
2406
|
+
((__m512d)__builtin_ia32_rndscalepd_mask((__v8df)(__m512d)(C), (int)(imm), \
|
|
2403
2407
|
(__v8df)(__m512d)(A), (__mmask8)(B), \
|
|
2404
|
-
_MM_FROUND_CUR_DIRECTION)
|
|
2408
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
2405
2409
|
|
|
2406
2410
|
#define _mm512_maskz_roundscale_pd(A, B, imm) \
|
|
2407
|
-
(__m512d)__builtin_ia32_rndscalepd_mask((__v8df)(__m512d)(B), (int)(imm), \
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
+
((__m512d)__builtin_ia32_rndscalepd_mask((__v8df)(__m512d)(B), (int)(imm), \
|
|
2412
|
+
(__v8df)_mm512_setzero_pd(), \
|
|
2413
|
+
(__mmask8)(A), \
|
|
2414
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
2411
2415
|
|
|
2412
2416
|
#define _mm512_mask_roundscale_round_pd(A, B, C, imm, R) \
|
|
2413
|
-
(__m512d)__builtin_ia32_rndscalepd_mask((__v8df)(__m512d)(C), (int)(imm), \
|
|
2417
|
+
((__m512d)__builtin_ia32_rndscalepd_mask((__v8df)(__m512d)(C), (int)(imm), \
|
|
2414
2418
|
(__v8df)(__m512d)(A), (__mmask8)(B), \
|
|
2415
|
-
(int)(R))
|
|
2419
|
+
(int)(R)))
|
|
2416
2420
|
|
|
2417
2421
|
#define _mm512_maskz_roundscale_round_pd(A, B, imm, R) \
|
|
2418
|
-
(__m512d)__builtin_ia32_rndscalepd_mask((__v8df)(__m512d)(B), (int)(imm), \
|
|
2419
|
-
|
|
2420
|
-
|
|
2422
|
+
((__m512d)__builtin_ia32_rndscalepd_mask((__v8df)(__m512d)(B), (int)(imm), \
|
|
2423
|
+
(__v8df)_mm512_setzero_pd(), \
|
|
2424
|
+
(__mmask8)(A), (int)(R)))
|
|
2421
2425
|
|
|
2422
2426
|
#define _mm512_roundscale_round_pd(A, imm, R) \
|
|
2423
|
-
(__m512d)__builtin_ia32_rndscalepd_mask((__v8df)(__m512d)(A), (int)(imm), \
|
|
2424
|
-
|
|
2425
|
-
|
|
2427
|
+
((__m512d)__builtin_ia32_rndscalepd_mask((__v8df)(__m512d)(A), (int)(imm), \
|
|
2428
|
+
(__v8df)_mm512_undefined_pd(), \
|
|
2429
|
+
(__mmask8)-1, (int)(R)))
|
|
2426
2430
|
|
|
2427
2431
|
#define _mm512_fmadd_round_pd(A, B, C, R) \
|
|
2428
|
-
(__m512d)__builtin_ia32_vfmaddpd512_mask((__v8df)(__m512d)(A), \
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
+
((__m512d)__builtin_ia32_vfmaddpd512_mask((__v8df)(__m512d)(A), \
|
|
2433
|
+
(__v8df)(__m512d)(B), \
|
|
2434
|
+
(__v8df)(__m512d)(C), \
|
|
2435
|
+
(__mmask8)-1, (int)(R)))
|
|
2432
2436
|
|
|
2433
2437
|
|
|
2434
2438
|
#define _mm512_mask_fmadd_round_pd(A, U, B, C, R) \
|
|
2435
|
-
(__m512d)__builtin_ia32_vfmaddpd512_mask((__v8df)(__m512d)(A), \
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
+
((__m512d)__builtin_ia32_vfmaddpd512_mask((__v8df)(__m512d)(A), \
|
|
2440
|
+
(__v8df)(__m512d)(B), \
|
|
2441
|
+
(__v8df)(__m512d)(C), \
|
|
2442
|
+
(__mmask8)(U), (int)(R)))
|
|
2439
2443
|
|
|
2440
2444
|
|
|
2441
2445
|
#define _mm512_mask3_fmadd_round_pd(A, B, C, U, R) \
|
|
2442
|
-
(__m512d)__builtin_ia32_vfmaddpd512_mask3((__v8df)(__m512d)(A), \
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
+
((__m512d)__builtin_ia32_vfmaddpd512_mask3((__v8df)(__m512d)(A), \
|
|
2447
|
+
(__v8df)(__m512d)(B), \
|
|
2448
|
+
(__v8df)(__m512d)(C), \
|
|
2449
|
+
(__mmask8)(U), (int)(R)))
|
|
2446
2450
|
|
|
2447
2451
|
|
|
2448
2452
|
#define _mm512_maskz_fmadd_round_pd(U, A, B, C, R) \
|
|
2449
|
-
(__m512d)__builtin_ia32_vfmaddpd512_maskz((__v8df)(__m512d)(A), \
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
+
((__m512d)__builtin_ia32_vfmaddpd512_maskz((__v8df)(__m512d)(A), \
|
|
2454
|
+
(__v8df)(__m512d)(B), \
|
|
2455
|
+
(__v8df)(__m512d)(C), \
|
|
2456
|
+
(__mmask8)(U), (int)(R)))
|
|
2453
2457
|
|
|
2454
2458
|
|
|
2455
2459
|
#define _mm512_fmsub_round_pd(A, B, C, R) \
|
|
2456
|
-
(__m512d)__builtin_ia32_vfmaddpd512_mask((__v8df)(__m512d)(A), \
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
+
((__m512d)__builtin_ia32_vfmaddpd512_mask((__v8df)(__m512d)(A), \
|
|
2461
|
+
(__v8df)(__m512d)(B), \
|
|
2462
|
+
-(__v8df)(__m512d)(C), \
|
|
2463
|
+
(__mmask8)-1, (int)(R)))
|
|
2460
2464
|
|
|
2461
2465
|
|
|
2462
2466
|
#define _mm512_mask_fmsub_round_pd(A, U, B, C, R) \
|
|
2463
|
-
(__m512d)__builtin_ia32_vfmaddpd512_mask((__v8df)(__m512d)(A), \
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
+
((__m512d)__builtin_ia32_vfmaddpd512_mask((__v8df)(__m512d)(A), \
|
|
2468
|
+
(__v8df)(__m512d)(B), \
|
|
2469
|
+
-(__v8df)(__m512d)(C), \
|
|
2470
|
+
(__mmask8)(U), (int)(R)))
|
|
2467
2471
|
|
|
2468
2472
|
|
|
2469
2473
|
#define _mm512_maskz_fmsub_round_pd(U, A, B, C, R) \
|
|
2470
|
-
(__m512d)__builtin_ia32_vfmaddpd512_maskz((__v8df)(__m512d)(A), \
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
+
((__m512d)__builtin_ia32_vfmaddpd512_maskz((__v8df)(__m512d)(A), \
|
|
2475
|
+
(__v8df)(__m512d)(B), \
|
|
2476
|
+
-(__v8df)(__m512d)(C), \
|
|
2477
|
+
(__mmask8)(U), (int)(R)))
|
|
2474
2478
|
|
|
2475
2479
|
|
|
2476
2480
|
#define _mm512_fnmadd_round_pd(A, B, C, R) \
|
|
2477
|
-
(__m512d)__builtin_ia32_vfmaddpd512_mask(-(__v8df)(__m512d)(A), \
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
+
((__m512d)__builtin_ia32_vfmaddpd512_mask(-(__v8df)(__m512d)(A), \
|
|
2482
|
+
(__v8df)(__m512d)(B), \
|
|
2483
|
+
(__v8df)(__m512d)(C), \
|
|
2484
|
+
(__mmask8)-1, (int)(R)))
|
|
2481
2485
|
|
|
2482
2486
|
|
|
2483
2487
|
#define _mm512_mask3_fnmadd_round_pd(A, B, C, U, R) \
|
|
2484
|
-
(__m512d)__builtin_ia32_vfmaddpd512_mask3(-(__v8df)(__m512d)(A), \
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
+
((__m512d)__builtin_ia32_vfmaddpd512_mask3(-(__v8df)(__m512d)(A), \
|
|
2489
|
+
(__v8df)(__m512d)(B), \
|
|
2490
|
+
(__v8df)(__m512d)(C), \
|
|
2491
|
+
(__mmask8)(U), (int)(R)))
|
|
2488
2492
|
|
|
2489
2493
|
|
|
2490
2494
|
#define _mm512_maskz_fnmadd_round_pd(U, A, B, C, R) \
|
|
2491
|
-
(__m512d)__builtin_ia32_vfmaddpd512_maskz(-(__v8df)(__m512d)(A), \
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
+
((__m512d)__builtin_ia32_vfmaddpd512_maskz(-(__v8df)(__m512d)(A), \
|
|
2496
|
+
(__v8df)(__m512d)(B), \
|
|
2497
|
+
(__v8df)(__m512d)(C), \
|
|
2498
|
+
(__mmask8)(U), (int)(R)))
|
|
2495
2499
|
|
|
2496
2500
|
|
|
2497
2501
|
#define _mm512_fnmsub_round_pd(A, B, C, R) \
|
|
2498
|
-
(__m512d)__builtin_ia32_vfmaddpd512_mask(-(__v8df)(__m512d)(A), \
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
+
((__m512d)__builtin_ia32_vfmaddpd512_mask(-(__v8df)(__m512d)(A), \
|
|
2503
|
+
(__v8df)(__m512d)(B), \
|
|
2504
|
+
-(__v8df)(__m512d)(C), \
|
|
2505
|
+
(__mmask8)-1, (int)(R)))
|
|
2502
2506
|
|
|
2503
2507
|
|
|
2504
2508
|
#define _mm512_maskz_fnmsub_round_pd(U, A, B, C, R) \
|
|
2505
|
-
(__m512d)__builtin_ia32_vfmaddpd512_maskz(-(__v8df)(__m512d)(A), \
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
+
((__m512d)__builtin_ia32_vfmaddpd512_maskz(-(__v8df)(__m512d)(A), \
|
|
2510
|
+
(__v8df)(__m512d)(B), \
|
|
2511
|
+
-(__v8df)(__m512d)(C), \
|
|
2512
|
+
(__mmask8)(U), (int)(R)))
|
|
2509
2513
|
|
|
2510
2514
|
|
|
2511
2515
|
static __inline__ __m512d __DEFAULT_FN_ATTRS512
|
|
@@ -2629,87 +2633,87 @@ _mm512_maskz_fnmsub_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
|
|
|
2629
2633
|
}
|
|
2630
2634
|
|
|
2631
2635
|
#define _mm512_fmadd_round_ps(A, B, C, R) \
|
|
2632
|
-
(__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
+
((__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
|
|
2637
|
+
(__v16sf)(__m512)(B), \
|
|
2638
|
+
(__v16sf)(__m512)(C), \
|
|
2639
|
+
(__mmask16)-1, (int)(R)))
|
|
2636
2640
|
|
|
2637
2641
|
|
|
2638
2642
|
#define _mm512_mask_fmadd_round_ps(A, U, B, C, R) \
|
|
2639
|
-
(__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
+
((__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
|
|
2644
|
+
(__v16sf)(__m512)(B), \
|
|
2645
|
+
(__v16sf)(__m512)(C), \
|
|
2646
|
+
(__mmask16)(U), (int)(R)))
|
|
2643
2647
|
|
|
2644
2648
|
|
|
2645
2649
|
#define _mm512_mask3_fmadd_round_ps(A, B, C, U, R) \
|
|
2646
|
-
(__m512)__builtin_ia32_vfmaddps512_mask3((__v16sf)(__m512)(A), \
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
+
((__m512)__builtin_ia32_vfmaddps512_mask3((__v16sf)(__m512)(A), \
|
|
2651
|
+
(__v16sf)(__m512)(B), \
|
|
2652
|
+
(__v16sf)(__m512)(C), \
|
|
2653
|
+
(__mmask16)(U), (int)(R)))
|
|
2650
2654
|
|
|
2651
2655
|
|
|
2652
2656
|
#define _mm512_maskz_fmadd_round_ps(U, A, B, C, R) \
|
|
2653
|
-
(__m512)__builtin_ia32_vfmaddps512_maskz((__v16sf)(__m512)(A), \
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
+
((__m512)__builtin_ia32_vfmaddps512_maskz((__v16sf)(__m512)(A), \
|
|
2658
|
+
(__v16sf)(__m512)(B), \
|
|
2659
|
+
(__v16sf)(__m512)(C), \
|
|
2660
|
+
(__mmask16)(U), (int)(R)))
|
|
2657
2661
|
|
|
2658
2662
|
|
|
2659
2663
|
#define _mm512_fmsub_round_ps(A, B, C, R) \
|
|
2660
|
-
(__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
+
((__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
|
|
2665
|
+
(__v16sf)(__m512)(B), \
|
|
2666
|
+
-(__v16sf)(__m512)(C), \
|
|
2667
|
+
(__mmask16)-1, (int)(R)))
|
|
2664
2668
|
|
|
2665
2669
|
|
|
2666
2670
|
#define _mm512_mask_fmsub_round_ps(A, U, B, C, R) \
|
|
2667
|
-
(__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
+
((__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
|
|
2672
|
+
(__v16sf)(__m512)(B), \
|
|
2673
|
+
-(__v16sf)(__m512)(C), \
|
|
2674
|
+
(__mmask16)(U), (int)(R)))
|
|
2671
2675
|
|
|
2672
2676
|
|
|
2673
2677
|
#define _mm512_maskz_fmsub_round_ps(U, A, B, C, R) \
|
|
2674
|
-
(__m512)__builtin_ia32_vfmaddps512_maskz((__v16sf)(__m512)(A), \
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
+
((__m512)__builtin_ia32_vfmaddps512_maskz((__v16sf)(__m512)(A), \
|
|
2679
|
+
(__v16sf)(__m512)(B), \
|
|
2680
|
+
-(__v16sf)(__m512)(C), \
|
|
2681
|
+
(__mmask16)(U), (int)(R)))
|
|
2678
2682
|
|
|
2679
2683
|
|
|
2680
2684
|
#define _mm512_fnmadd_round_ps(A, B, C, R) \
|
|
2681
|
-
(__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
+
((__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
|
|
2686
|
+
-(__v16sf)(__m512)(B), \
|
|
2687
|
+
(__v16sf)(__m512)(C), \
|
|
2688
|
+
(__mmask16)-1, (int)(R)))
|
|
2685
2689
|
|
|
2686
2690
|
|
|
2687
2691
|
#define _mm512_mask3_fnmadd_round_ps(A, B, C, U, R) \
|
|
2688
|
-
(__m512)__builtin_ia32_vfmaddps512_mask3(-(__v16sf)(__m512)(A), \
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
+
((__m512)__builtin_ia32_vfmaddps512_mask3(-(__v16sf)(__m512)(A), \
|
|
2693
|
+
(__v16sf)(__m512)(B), \
|
|
2694
|
+
(__v16sf)(__m512)(C), \
|
|
2695
|
+
(__mmask16)(U), (int)(R)))
|
|
2692
2696
|
|
|
2693
2697
|
|
|
2694
2698
|
#define _mm512_maskz_fnmadd_round_ps(U, A, B, C, R) \
|
|
2695
|
-
(__m512)__builtin_ia32_vfmaddps512_maskz(-(__v16sf)(__m512)(A), \
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
+
((__m512)__builtin_ia32_vfmaddps512_maskz(-(__v16sf)(__m512)(A), \
|
|
2700
|
+
(__v16sf)(__m512)(B), \
|
|
2701
|
+
(__v16sf)(__m512)(C), \
|
|
2702
|
+
(__mmask16)(U), (int)(R)))
|
|
2699
2703
|
|
|
2700
2704
|
|
|
2701
2705
|
#define _mm512_fnmsub_round_ps(A, B, C, R) \
|
|
2702
|
-
(__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
+
((__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
|
|
2707
|
+
-(__v16sf)(__m512)(B), \
|
|
2708
|
+
-(__v16sf)(__m512)(C), \
|
|
2709
|
+
(__mmask16)-1, (int)(R)))
|
|
2706
2710
|
|
|
2707
2711
|
|
|
2708
2712
|
#define _mm512_maskz_fnmsub_round_ps(U, A, B, C, R) \
|
|
2709
|
-
(__m512)__builtin_ia32_vfmaddps512_maskz(-(__v16sf)(__m512)(A), \
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
+
((__m512)__builtin_ia32_vfmaddps512_maskz(-(__v16sf)(__m512)(A), \
|
|
2714
|
+
(__v16sf)(__m512)(B), \
|
|
2715
|
+
-(__v16sf)(__m512)(C), \
|
|
2716
|
+
(__mmask16)(U), (int)(R)))
|
|
2713
2717
|
|
|
2714
2718
|
|
|
2715
2719
|
static __inline__ __m512 __DEFAULT_FN_ATTRS512
|
|
@@ -2833,52 +2837,52 @@ _mm512_maskz_fnmsub_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
|
|
|
2833
2837
|
}
|
|
2834
2838
|
|
|
2835
2839
|
#define _mm512_fmaddsub_round_pd(A, B, C, R) \
|
|
2836
|
-
(__m512d)__builtin_ia32_vfmaddsubpd512_mask((__v8df)(__m512d)(A), \
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
+
((__m512d)__builtin_ia32_vfmaddsubpd512_mask((__v8df)(__m512d)(A), \
|
|
2841
|
+
(__v8df)(__m512d)(B), \
|
|
2842
|
+
(__v8df)(__m512d)(C), \
|
|
2843
|
+
(__mmask8)-1, (int)(R)))
|
|
2840
2844
|
|
|
2841
2845
|
|
|
2842
2846
|
#define _mm512_mask_fmaddsub_round_pd(A, U, B, C, R) \
|
|
2843
|
-
(__m512d)__builtin_ia32_vfmaddsubpd512_mask((__v8df)(__m512d)(A), \
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
|
|
2847
|
+
((__m512d)__builtin_ia32_vfmaddsubpd512_mask((__v8df)(__m512d)(A), \
|
|
2848
|
+
(__v8df)(__m512d)(B), \
|
|
2849
|
+
(__v8df)(__m512d)(C), \
|
|
2850
|
+
(__mmask8)(U), (int)(R)))
|
|
2847
2851
|
|
|
2848
2852
|
|
|
2849
2853
|
#define _mm512_mask3_fmaddsub_round_pd(A, B, C, U, R) \
|
|
2850
|
-
(__m512d)__builtin_ia32_vfmaddsubpd512_mask3((__v8df)(__m512d)(A), \
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
+
((__m512d)__builtin_ia32_vfmaddsubpd512_mask3((__v8df)(__m512d)(A), \
|
|
2855
|
+
(__v8df)(__m512d)(B), \
|
|
2856
|
+
(__v8df)(__m512d)(C), \
|
|
2857
|
+
(__mmask8)(U), (int)(R)))
|
|
2854
2858
|
|
|
2855
2859
|
|
|
2856
2860
|
#define _mm512_maskz_fmaddsub_round_pd(U, A, B, C, R) \
|
|
2857
|
-
(__m512d)__builtin_ia32_vfmaddsubpd512_maskz((__v8df)(__m512d)(A), \
|
|
2858
|
-
|
|
2859
|
-
|
|
2860
|
-
|
|
2861
|
+
((__m512d)__builtin_ia32_vfmaddsubpd512_maskz((__v8df)(__m512d)(A), \
|
|
2862
|
+
(__v8df)(__m512d)(B), \
|
|
2863
|
+
(__v8df)(__m512d)(C), \
|
|
2864
|
+
(__mmask8)(U), (int)(R)))
|
|
2861
2865
|
|
|
2862
2866
|
|
|
2863
2867
|
#define _mm512_fmsubadd_round_pd(A, B, C, R) \
|
|
2864
|
-
(__m512d)__builtin_ia32_vfmaddsubpd512_mask((__v8df)(__m512d)(A), \
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
+
((__m512d)__builtin_ia32_vfmaddsubpd512_mask((__v8df)(__m512d)(A), \
|
|
2869
|
+
(__v8df)(__m512d)(B), \
|
|
2870
|
+
-(__v8df)(__m512d)(C), \
|
|
2871
|
+
(__mmask8)-1, (int)(R)))
|
|
2868
2872
|
|
|
2869
2873
|
|
|
2870
2874
|
#define _mm512_mask_fmsubadd_round_pd(A, U, B, C, R) \
|
|
2871
|
-
(__m512d)__builtin_ia32_vfmaddsubpd512_mask((__v8df)(__m512d)(A), \
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
+
((__m512d)__builtin_ia32_vfmaddsubpd512_mask((__v8df)(__m512d)(A), \
|
|
2876
|
+
(__v8df)(__m512d)(B), \
|
|
2877
|
+
-(__v8df)(__m512d)(C), \
|
|
2878
|
+
(__mmask8)(U), (int)(R)))
|
|
2875
2879
|
|
|
2876
2880
|
|
|
2877
2881
|
#define _mm512_maskz_fmsubadd_round_pd(U, A, B, C, R) \
|
|
2878
|
-
(__m512d)__builtin_ia32_vfmaddsubpd512_maskz((__v8df)(__m512d)(A), \
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
+
((__m512d)__builtin_ia32_vfmaddsubpd512_maskz((__v8df)(__m512d)(A), \
|
|
2883
|
+
(__v8df)(__m512d)(B), \
|
|
2884
|
+
-(__v8df)(__m512d)(C), \
|
|
2885
|
+
(__mmask8)(U), (int)(R)))
|
|
2882
2886
|
|
|
2883
2887
|
|
|
2884
2888
|
static __inline__ __m512d __DEFAULT_FN_ATTRS512
|
|
@@ -2952,52 +2956,52 @@ _mm512_maskz_fmsubadd_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
|
|
|
2952
2956
|
}
|
|
2953
2957
|
|
|
2954
2958
|
#define _mm512_fmaddsub_round_ps(A, B, C, R) \
|
|
2955
|
-
(__m512)__builtin_ia32_vfmaddsubps512_mask((__v16sf)(__m512)(A), \
|
|
2956
|
-
|
|
2957
|
-
|
|
2958
|
-
|
|
2959
|
+
((__m512)__builtin_ia32_vfmaddsubps512_mask((__v16sf)(__m512)(A), \
|
|
2960
|
+
(__v16sf)(__m512)(B), \
|
|
2961
|
+
(__v16sf)(__m512)(C), \
|
|
2962
|
+
(__mmask16)-1, (int)(R)))
|
|
2959
2963
|
|
|
2960
2964
|
|
|
2961
2965
|
#define _mm512_mask_fmaddsub_round_ps(A, U, B, C, R) \
|
|
2962
|
-
(__m512)__builtin_ia32_vfmaddsubps512_mask((__v16sf)(__m512)(A), \
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
|
|
2966
|
+
((__m512)__builtin_ia32_vfmaddsubps512_mask((__v16sf)(__m512)(A), \
|
|
2967
|
+
(__v16sf)(__m512)(B), \
|
|
2968
|
+
(__v16sf)(__m512)(C), \
|
|
2969
|
+
(__mmask16)(U), (int)(R)))
|
|
2966
2970
|
|
|
2967
2971
|
|
|
2968
2972
|
#define _mm512_mask3_fmaddsub_round_ps(A, B, C, U, R) \
|
|
2969
|
-
(__m512)__builtin_ia32_vfmaddsubps512_mask3((__v16sf)(__m512)(A), \
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
|
-
|
|
2973
|
+
((__m512)__builtin_ia32_vfmaddsubps512_mask3((__v16sf)(__m512)(A), \
|
|
2974
|
+
(__v16sf)(__m512)(B), \
|
|
2975
|
+
(__v16sf)(__m512)(C), \
|
|
2976
|
+
(__mmask16)(U), (int)(R)))
|
|
2973
2977
|
|
|
2974
2978
|
|
|
2975
2979
|
#define _mm512_maskz_fmaddsub_round_ps(U, A, B, C, R) \
|
|
2976
|
-
(__m512)__builtin_ia32_vfmaddsubps512_maskz((__v16sf)(__m512)(A), \
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
+
((__m512)__builtin_ia32_vfmaddsubps512_maskz((__v16sf)(__m512)(A), \
|
|
2981
|
+
(__v16sf)(__m512)(B), \
|
|
2982
|
+
(__v16sf)(__m512)(C), \
|
|
2983
|
+
(__mmask16)(U), (int)(R)))
|
|
2980
2984
|
|
|
2981
2985
|
|
|
2982
2986
|
#define _mm512_fmsubadd_round_ps(A, B, C, R) \
|
|
2983
|
-
(__m512)__builtin_ia32_vfmaddsubps512_mask((__v16sf)(__m512)(A), \
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
|
|
2987
|
+
((__m512)__builtin_ia32_vfmaddsubps512_mask((__v16sf)(__m512)(A), \
|
|
2988
|
+
(__v16sf)(__m512)(B), \
|
|
2989
|
+
-(__v16sf)(__m512)(C), \
|
|
2990
|
+
(__mmask16)-1, (int)(R)))
|
|
2987
2991
|
|
|
2988
2992
|
|
|
2989
2993
|
#define _mm512_mask_fmsubadd_round_ps(A, U, B, C, R) \
|
|
2990
|
-
(__m512)__builtin_ia32_vfmaddsubps512_mask((__v16sf)(__m512)(A), \
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
+
((__m512)__builtin_ia32_vfmaddsubps512_mask((__v16sf)(__m512)(A), \
|
|
2995
|
+
(__v16sf)(__m512)(B), \
|
|
2996
|
+
-(__v16sf)(__m512)(C), \
|
|
2997
|
+
(__mmask16)(U), (int)(R)))
|
|
2994
2998
|
|
|
2995
2999
|
|
|
2996
3000
|
#define _mm512_maskz_fmsubadd_round_ps(U, A, B, C, R) \
|
|
2997
|
-
(__m512)__builtin_ia32_vfmaddsubps512_maskz((__v16sf)(__m512)(A), \
|
|
2998
|
-
|
|
2999
|
-
|
|
3000
|
-
|
|
3001
|
+
((__m512)__builtin_ia32_vfmaddsubps512_maskz((__v16sf)(__m512)(A), \
|
|
3002
|
+
(__v16sf)(__m512)(B), \
|
|
3003
|
+
-(__v16sf)(__m512)(C), \
|
|
3004
|
+
(__mmask16)(U), (int)(R)))
|
|
3001
3005
|
|
|
3002
3006
|
|
|
3003
3007
|
static __inline__ __m512 __DEFAULT_FN_ATTRS512
|
|
@@ -3071,10 +3075,10 @@ _mm512_maskz_fmsubadd_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
|
|
|
3071
3075
|
}
|
|
3072
3076
|
|
|
3073
3077
|
#define _mm512_mask3_fmsub_round_pd(A, B, C, U, R) \
|
|
3074
|
-
(__m512d)__builtin_ia32_vfmsubpd512_mask3((__v8df)(__m512d)(A), \
|
|
3075
|
-
|
|
3076
|
-
|
|
3077
|
-
|
|
3078
|
+
((__m512d)__builtin_ia32_vfmsubpd512_mask3((__v8df)(__m512d)(A), \
|
|
3079
|
+
(__v8df)(__m512d)(B), \
|
|
3080
|
+
(__v8df)(__m512d)(C), \
|
|
3081
|
+
(__mmask8)(U), (int)(R)))
|
|
3078
3082
|
|
|
3079
3083
|
|
|
3080
3084
|
static __inline__ __m512d __DEFAULT_FN_ATTRS512
|
|
@@ -3088,10 +3092,10 @@ _mm512_mask3_fmsub_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
|
|
|
3088
3092
|
}
|
|
3089
3093
|
|
|
3090
3094
|
#define _mm512_mask3_fmsub_round_ps(A, B, C, U, R) \
|
|
3091
|
-
(__m512)__builtin_ia32_vfmsubps512_mask3((__v16sf)(__m512)(A), \
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
+
((__m512)__builtin_ia32_vfmsubps512_mask3((__v16sf)(__m512)(A), \
|
|
3096
|
+
(__v16sf)(__m512)(B), \
|
|
3097
|
+
(__v16sf)(__m512)(C), \
|
|
3098
|
+
(__mmask16)(U), (int)(R)))
|
|
3095
3099
|
|
|
3096
3100
|
static __inline__ __m512 __DEFAULT_FN_ATTRS512
|
|
3097
3101
|
_mm512_mask3_fmsub_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
|
|
@@ -3104,10 +3108,10 @@ _mm512_mask3_fmsub_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
|
|
|
3104
3108
|
}
|
|
3105
3109
|
|
|
3106
3110
|
#define _mm512_mask3_fmsubadd_round_pd(A, B, C, U, R) \
|
|
3107
|
-
(__m512d)__builtin_ia32_vfmsubaddpd512_mask3((__v8df)(__m512d)(A), \
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
+
((__m512d)__builtin_ia32_vfmsubaddpd512_mask3((__v8df)(__m512d)(A), \
|
|
3112
|
+
(__v8df)(__m512d)(B), \
|
|
3113
|
+
(__v8df)(__m512d)(C), \
|
|
3114
|
+
(__mmask8)(U), (int)(R)))
|
|
3111
3115
|
|
|
3112
3116
|
|
|
3113
3117
|
static __inline__ __m512d __DEFAULT_FN_ATTRS512
|
|
@@ -3121,10 +3125,10 @@ _mm512_mask3_fmsubadd_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
|
|
|
3121
3125
|
}
|
|
3122
3126
|
|
|
3123
3127
|
#define _mm512_mask3_fmsubadd_round_ps(A, B, C, U, R) \
|
|
3124
|
-
(__m512)__builtin_ia32_vfmsubaddps512_mask3((__v16sf)(__m512)(A), \
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
+
((__m512)__builtin_ia32_vfmsubaddps512_mask3((__v16sf)(__m512)(A), \
|
|
3129
|
+
(__v16sf)(__m512)(B), \
|
|
3130
|
+
(__v16sf)(__m512)(C), \
|
|
3131
|
+
(__mmask16)(U), (int)(R)))
|
|
3128
3132
|
|
|
3129
3133
|
|
|
3130
3134
|
static __inline__ __m512 __DEFAULT_FN_ATTRS512
|
|
@@ -3138,10 +3142,10 @@ _mm512_mask3_fmsubadd_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
|
|
|
3138
3142
|
}
|
|
3139
3143
|
|
|
3140
3144
|
#define _mm512_mask_fnmadd_round_pd(A, U, B, C, R) \
|
|
3141
|
-
(__m512d)__builtin_ia32_vfmaddpd512_mask((__v8df)(__m512d)(A), \
|
|
3142
|
-
|
|
3143
|
-
|
|
3144
|
-
|
|
3145
|
+
((__m512d)__builtin_ia32_vfmaddpd512_mask((__v8df)(__m512d)(A), \
|
|
3146
|
+
-(__v8df)(__m512d)(B), \
|
|
3147
|
+
(__v8df)(__m512d)(C), \
|
|
3148
|
+
(__mmask8)(U), (int)(R)))
|
|
3145
3149
|
|
|
3146
3150
|
|
|
3147
3151
|
static __inline__ __m512d __DEFAULT_FN_ATTRS512
|
|
@@ -3155,10 +3159,10 @@ _mm512_mask_fnmadd_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
|
|
|
3155
3159
|
}
|
|
3156
3160
|
|
|
3157
3161
|
#define _mm512_mask_fnmadd_round_ps(A, U, B, C, R) \
|
|
3158
|
-
(__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
|
|
3159
|
-
|
|
3160
|
-
|
|
3161
|
-
|
|
3162
|
+
((__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
|
|
3163
|
+
-(__v16sf)(__m512)(B), \
|
|
3164
|
+
(__v16sf)(__m512)(C), \
|
|
3165
|
+
(__mmask16)(U), (int)(R)))
|
|
3162
3166
|
|
|
3163
3167
|
|
|
3164
3168
|
static __inline__ __m512 __DEFAULT_FN_ATTRS512
|
|
@@ -3172,17 +3176,17 @@ _mm512_mask_fnmadd_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
|
|
|
3172
3176
|
}
|
|
3173
3177
|
|
|
3174
3178
|
#define _mm512_mask_fnmsub_round_pd(A, U, B, C, R) \
|
|
3175
|
-
(__m512d)__builtin_ia32_vfmaddpd512_mask((__v8df)(__m512d)(A), \
|
|
3176
|
-
|
|
3177
|
-
|
|
3178
|
-
|
|
3179
|
+
((__m512d)__builtin_ia32_vfmaddpd512_mask((__v8df)(__m512d)(A), \
|
|
3180
|
+
-(__v8df)(__m512d)(B), \
|
|
3181
|
+
-(__v8df)(__m512d)(C), \
|
|
3182
|
+
(__mmask8)(U), (int)(R)))
|
|
3179
3183
|
|
|
3180
3184
|
|
|
3181
3185
|
#define _mm512_mask3_fnmsub_round_pd(A, B, C, U, R) \
|
|
3182
|
-
(__m512d)__builtin_ia32_vfmsubpd512_mask3(-(__v8df)(__m512d)(A), \
|
|
3183
|
-
|
|
3184
|
-
|
|
3185
|
-
|
|
3186
|
+
((__m512d)__builtin_ia32_vfmsubpd512_mask3(-(__v8df)(__m512d)(A), \
|
|
3187
|
+
(__v8df)(__m512d)(B), \
|
|
3188
|
+
(__v8df)(__m512d)(C), \
|
|
3189
|
+
(__mmask8)(U), (int)(R)))
|
|
3186
3190
|
|
|
3187
3191
|
|
|
3188
3192
|
static __inline__ __m512d __DEFAULT_FN_ATTRS512
|
|
@@ -3206,17 +3210,17 @@ _mm512_mask3_fnmsub_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
|
|
|
3206
3210
|
}
|
|
3207
3211
|
|
|
3208
3212
|
#define _mm512_mask_fnmsub_round_ps(A, U, B, C, R) \
|
|
3209
|
-
(__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
|
|
3210
|
-
|
|
3211
|
-
|
|
3212
|
-
|
|
3213
|
+
((__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
|
|
3214
|
+
-(__v16sf)(__m512)(B), \
|
|
3215
|
+
-(__v16sf)(__m512)(C), \
|
|
3216
|
+
(__mmask16)(U), (int)(R)))
|
|
3213
3217
|
|
|
3214
3218
|
|
|
3215
3219
|
#define _mm512_mask3_fnmsub_round_ps(A, B, C, U, R) \
|
|
3216
|
-
(__m512)__builtin_ia32_vfmsubps512_mask3(-(__v16sf)(__m512)(A), \
|
|
3217
|
-
|
|
3218
|
-
|
|
3219
|
-
|
|
3220
|
+
((__m512)__builtin_ia32_vfmsubps512_mask3(-(__v16sf)(__m512)(A), \
|
|
3221
|
+
(__v16sf)(__m512)(B), \
|
|
3222
|
+
(__v16sf)(__m512)(C), \
|
|
3223
|
+
(__mmask16)(U), (int)(R)))
|
|
3220
3224
|
|
|
3221
3225
|
|
|
3222
3226
|
static __inline__ __m512 __DEFAULT_FN_ATTRS512
|
|
@@ -3312,63 +3316,63 @@ _mm512_maskz_permutex2var_epi64(__mmask8 __U, __m512i __A, __m512i __I,
|
|
|
3312
3316
|
}
|
|
3313
3317
|
|
|
3314
3318
|
#define _mm512_alignr_epi64(A, B, I) \
|
|
3315
|
-
(__m512i)__builtin_ia32_alignq512((__v8di)(__m512i)(A), \
|
|
3316
|
-
|
|
3319
|
+
((__m512i)__builtin_ia32_alignq512((__v8di)(__m512i)(A), \
|
|
3320
|
+
(__v8di)(__m512i)(B), (int)(I)))
|
|
3317
3321
|
|
|
3318
3322
|
#define _mm512_mask_alignr_epi64(W, U, A, B, imm) \
|
|
3319
|
-
(__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
3320
|
-
|
|
3321
|
-
|
|
3323
|
+
((__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
3324
|
+
(__v8di)_mm512_alignr_epi64((A), (B), (imm)), \
|
|
3325
|
+
(__v8di)(__m512i)(W)))
|
|
3322
3326
|
|
|
3323
3327
|
#define _mm512_maskz_alignr_epi64(U, A, B, imm) \
|
|
3324
|
-
(__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
3325
|
-
|
|
3326
|
-
|
|
3328
|
+
((__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
3329
|
+
(__v8di)_mm512_alignr_epi64((A), (B), (imm)), \
|
|
3330
|
+
(__v8di)_mm512_setzero_si512()))
|
|
3327
3331
|
|
|
3328
3332
|
#define _mm512_alignr_epi32(A, B, I) \
|
|
3329
|
-
(__m512i)__builtin_ia32_alignd512((__v16si)(__m512i)(A), \
|
|
3330
|
-
|
|
3333
|
+
((__m512i)__builtin_ia32_alignd512((__v16si)(__m512i)(A), \
|
|
3334
|
+
(__v16si)(__m512i)(B), (int)(I)))
|
|
3331
3335
|
|
|
3332
3336
|
#define _mm512_mask_alignr_epi32(W, U, A, B, imm) \
|
|
3333
|
-
(__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
3334
|
-
|
|
3335
|
-
|
|
3337
|
+
((__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
3338
|
+
(__v16si)_mm512_alignr_epi32((A), (B), (imm)), \
|
|
3339
|
+
(__v16si)(__m512i)(W)))
|
|
3336
3340
|
|
|
3337
3341
|
#define _mm512_maskz_alignr_epi32(U, A, B, imm) \
|
|
3338
|
-
(__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
3339
|
-
|
|
3340
|
-
|
|
3342
|
+
((__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
3343
|
+
(__v16si)_mm512_alignr_epi32((A), (B), (imm)), \
|
|
3344
|
+
(__v16si)_mm512_setzero_si512()))
|
|
3341
3345
|
/* Vector Extract */
|
|
3342
3346
|
|
|
3343
3347
|
#define _mm512_extractf64x4_pd(A, I) \
|
|
3344
|
-
(__m256d)__builtin_ia32_extractf64x4_mask((__v8df)(__m512d)(A), (int)(I), \
|
|
3345
|
-
|
|
3346
|
-
|
|
3348
|
+
((__m256d)__builtin_ia32_extractf64x4_mask((__v8df)(__m512d)(A), (int)(I), \
|
|
3349
|
+
(__v4df)_mm256_undefined_pd(), \
|
|
3350
|
+
(__mmask8)-1))
|
|
3347
3351
|
|
|
3348
3352
|
#define _mm512_mask_extractf64x4_pd(W, U, A, imm) \
|
|
3349
|
-
(__m256d)__builtin_ia32_extractf64x4_mask((__v8df)(__m512d)(A), (int)(imm), \
|
|
3350
|
-
|
|
3351
|
-
|
|
3353
|
+
((__m256d)__builtin_ia32_extractf64x4_mask((__v8df)(__m512d)(A), (int)(imm), \
|
|
3354
|
+
(__v4df)(__m256d)(W), \
|
|
3355
|
+
(__mmask8)(U)))
|
|
3352
3356
|
|
|
3353
3357
|
#define _mm512_maskz_extractf64x4_pd(U, A, imm) \
|
|
3354
|
-
(__m256d)__builtin_ia32_extractf64x4_mask((__v8df)(__m512d)(A), (int)(imm), \
|
|
3355
|
-
|
|
3356
|
-
|
|
3358
|
+
((__m256d)__builtin_ia32_extractf64x4_mask((__v8df)(__m512d)(A), (int)(imm), \
|
|
3359
|
+
(__v4df)_mm256_setzero_pd(), \
|
|
3360
|
+
(__mmask8)(U)))
|
|
3357
3361
|
|
|
3358
3362
|
#define _mm512_extractf32x4_ps(A, I) \
|
|
3359
|
-
(__m128)__builtin_ia32_extractf32x4_mask((__v16sf)(__m512)(A), (int)(I), \
|
|
3360
|
-
|
|
3361
|
-
|
|
3363
|
+
((__m128)__builtin_ia32_extractf32x4_mask((__v16sf)(__m512)(A), (int)(I), \
|
|
3364
|
+
(__v4sf)_mm_undefined_ps(), \
|
|
3365
|
+
(__mmask8)-1))
|
|
3362
3366
|
|
|
3363
3367
|
#define _mm512_mask_extractf32x4_ps(W, U, A, imm) \
|
|
3364
|
-
(__m128)__builtin_ia32_extractf32x4_mask((__v16sf)(__m512)(A), (int)(imm), \
|
|
3365
|
-
|
|
3366
|
-
|
|
3368
|
+
((__m128)__builtin_ia32_extractf32x4_mask((__v16sf)(__m512)(A), (int)(imm), \
|
|
3369
|
+
(__v4sf)(__m128)(W), \
|
|
3370
|
+
(__mmask8)(U)))
|
|
3367
3371
|
|
|
3368
3372
|
#define _mm512_maskz_extractf32x4_ps(U, A, imm) \
|
|
3369
|
-
(__m128)__builtin_ia32_extractf32x4_mask((__v16sf)(__m512)(A), (int)(imm), \
|
|
3370
|
-
|
|
3371
|
-
|
|
3373
|
+
((__m128)__builtin_ia32_extractf32x4_mask((__v16sf)(__m512)(A), (int)(imm), \
|
|
3374
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
3375
|
+
(__mmask8)(U)))
|
|
3372
3376
|
|
|
3373
3377
|
/* Vector Blend */
|
|
3374
3378
|
|
|
@@ -3407,14 +3411,14 @@ _mm512_mask_blend_epi32(__mmask16 __U, __m512i __A, __m512i __W)
|
|
|
3407
3411
|
/* Compare */
|
|
3408
3412
|
|
|
3409
3413
|
#define _mm512_cmp_round_ps_mask(A, B, P, R) \
|
|
3410
|
-
(__mmask16)__builtin_ia32_cmpps512_mask((__v16sf)(__m512)(A), \
|
|
3411
|
-
|
|
3412
|
-
|
|
3414
|
+
((__mmask16)__builtin_ia32_cmpps512_mask((__v16sf)(__m512)(A), \
|
|
3415
|
+
(__v16sf)(__m512)(B), (int)(P), \
|
|
3416
|
+
(__mmask16)-1, (int)(R)))
|
|
3413
3417
|
|
|
3414
3418
|
#define _mm512_mask_cmp_round_ps_mask(U, A, B, P, R) \
|
|
3415
|
-
(__mmask16)__builtin_ia32_cmpps512_mask((__v16sf)(__m512)(A), \
|
|
3416
|
-
|
|
3417
|
-
|
|
3419
|
+
((__mmask16)__builtin_ia32_cmpps512_mask((__v16sf)(__m512)(A), \
|
|
3420
|
+
(__v16sf)(__m512)(B), (int)(P), \
|
|
3421
|
+
(__mmask16)(U), (int)(R)))
|
|
3418
3422
|
|
|
3419
3423
|
#define _mm512_cmp_ps_mask(A, B, P) \
|
|
3420
3424
|
_mm512_cmp_round_ps_mask((A), (B), (P), _MM_FROUND_CUR_DIRECTION)
|
|
@@ -3462,14 +3466,14 @@ _mm512_mask_blend_epi32(__mmask16 __U, __m512i __A, __m512i __W)
|
|
|
3462
3466
|
_mm512_mask_cmp_ps_mask((k), (A), (B), _CMP_ORD_Q)
|
|
3463
3467
|
|
|
3464
3468
|
#define _mm512_cmp_round_pd_mask(A, B, P, R) \
|
|
3465
|
-
(__mmask8)__builtin_ia32_cmppd512_mask((__v8df)(__m512d)(A), \
|
|
3466
|
-
|
|
3467
|
-
|
|
3469
|
+
((__mmask8)__builtin_ia32_cmppd512_mask((__v8df)(__m512d)(A), \
|
|
3470
|
+
(__v8df)(__m512d)(B), (int)(P), \
|
|
3471
|
+
(__mmask8)-1, (int)(R)))
|
|
3468
3472
|
|
|
3469
3473
|
#define _mm512_mask_cmp_round_pd_mask(U, A, B, P, R) \
|
|
3470
|
-
(__mmask8)__builtin_ia32_cmppd512_mask((__v8df)(__m512d)(A), \
|
|
3471
|
-
|
|
3472
|
-
|
|
3474
|
+
((__mmask8)__builtin_ia32_cmppd512_mask((__v8df)(__m512d)(A), \
|
|
3475
|
+
(__v8df)(__m512d)(B), (int)(P), \
|
|
3476
|
+
(__mmask8)(U), (int)(R)))
|
|
3473
3477
|
|
|
3474
3478
|
#define _mm512_cmp_pd_mask(A, B, P) \
|
|
3475
3479
|
_mm512_cmp_round_pd_mask((A), (B), (P), _MM_FROUND_CUR_DIRECTION)
|
|
@@ -3519,19 +3523,19 @@ _mm512_mask_blend_epi32(__mmask16 __U, __m512i __A, __m512i __W)
|
|
|
3519
3523
|
/* Conversion */
|
|
3520
3524
|
|
|
3521
3525
|
#define _mm512_cvtt_roundps_epu32(A, R) \
|
|
3522
|
-
(__m512i)__builtin_ia32_cvttps2udq512_mask((__v16sf)(__m512)(A), \
|
|
3523
|
-
|
|
3524
|
-
|
|
3526
|
+
((__m512i)__builtin_ia32_cvttps2udq512_mask((__v16sf)(__m512)(A), \
|
|
3527
|
+
(__v16si)_mm512_undefined_epi32(), \
|
|
3528
|
+
(__mmask16)-1, (int)(R)))
|
|
3525
3529
|
|
|
3526
3530
|
#define _mm512_mask_cvtt_roundps_epu32(W, U, A, R) \
|
|
3527
|
-
(__m512i)__builtin_ia32_cvttps2udq512_mask((__v16sf)(__m512)(A), \
|
|
3528
|
-
|
|
3529
|
-
|
|
3531
|
+
((__m512i)__builtin_ia32_cvttps2udq512_mask((__v16sf)(__m512)(A), \
|
|
3532
|
+
(__v16si)(__m512i)(W), \
|
|
3533
|
+
(__mmask16)(U), (int)(R)))
|
|
3530
3534
|
|
|
3531
3535
|
#define _mm512_maskz_cvtt_roundps_epu32(U, A, R) \
|
|
3532
|
-
(__m512i)__builtin_ia32_cvttps2udq512_mask((__v16sf)(__m512)(A), \
|
|
3533
|
-
|
|
3534
|
-
|
|
3536
|
+
((__m512i)__builtin_ia32_cvttps2udq512_mask((__v16sf)(__m512)(A), \
|
|
3537
|
+
(__v16si)_mm512_setzero_si512(), \
|
|
3538
|
+
(__mmask16)(U), (int)(R)))
|
|
3535
3539
|
|
|
3536
3540
|
|
|
3537
3541
|
static __inline __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -3563,34 +3567,34 @@ _mm512_maskz_cvttps_epu32 (__mmask16 __U, __m512 __A)
|
|
|
3563
3567
|
}
|
|
3564
3568
|
|
|
3565
3569
|
#define _mm512_cvt_roundepi32_ps(A, R) \
|
|
3566
|
-
(__m512)__builtin_ia32_cvtdq2ps512_mask((__v16si)(__m512i)(A), \
|
|
3567
|
-
|
|
3568
|
-
|
|
3570
|
+
((__m512)__builtin_ia32_cvtdq2ps512_mask((__v16si)(__m512i)(A), \
|
|
3571
|
+
(__v16sf)_mm512_setzero_ps(), \
|
|
3572
|
+
(__mmask16)-1, (int)(R)))
|
|
3569
3573
|
|
|
3570
3574
|
#define _mm512_mask_cvt_roundepi32_ps(W, U, A, R) \
|
|
3571
|
-
(__m512)__builtin_ia32_cvtdq2ps512_mask((__v16si)(__m512i)(A), \
|
|
3572
|
-
|
|
3573
|
-
|
|
3575
|
+
((__m512)__builtin_ia32_cvtdq2ps512_mask((__v16si)(__m512i)(A), \
|
|
3576
|
+
(__v16sf)(__m512)(W), \
|
|
3577
|
+
(__mmask16)(U), (int)(R)))
|
|
3574
3578
|
|
|
3575
3579
|
#define _mm512_maskz_cvt_roundepi32_ps(U, A, R) \
|
|
3576
|
-
(__m512)__builtin_ia32_cvtdq2ps512_mask((__v16si)(__m512i)(A), \
|
|
3577
|
-
|
|
3578
|
-
|
|
3580
|
+
((__m512)__builtin_ia32_cvtdq2ps512_mask((__v16si)(__m512i)(A), \
|
|
3581
|
+
(__v16sf)_mm512_setzero_ps(), \
|
|
3582
|
+
(__mmask16)(U), (int)(R)))
|
|
3579
3583
|
|
|
3580
3584
|
#define _mm512_cvt_roundepu32_ps(A, R) \
|
|
3581
|
-
(__m512)__builtin_ia32_cvtudq2ps512_mask((__v16si)(__m512i)(A), \
|
|
3582
|
-
|
|
3583
|
-
|
|
3585
|
+
((__m512)__builtin_ia32_cvtudq2ps512_mask((__v16si)(__m512i)(A), \
|
|
3586
|
+
(__v16sf)_mm512_setzero_ps(), \
|
|
3587
|
+
(__mmask16)-1, (int)(R)))
|
|
3584
3588
|
|
|
3585
3589
|
#define _mm512_mask_cvt_roundepu32_ps(W, U, A, R) \
|
|
3586
|
-
(__m512)__builtin_ia32_cvtudq2ps512_mask((__v16si)(__m512i)(A), \
|
|
3587
|
-
|
|
3588
|
-
|
|
3590
|
+
((__m512)__builtin_ia32_cvtudq2ps512_mask((__v16si)(__m512i)(A), \
|
|
3591
|
+
(__v16sf)(__m512)(W), \
|
|
3592
|
+
(__mmask16)(U), (int)(R)))
|
|
3589
3593
|
|
|
3590
3594
|
#define _mm512_maskz_cvt_roundepu32_ps(U, A, R) \
|
|
3591
|
-
(__m512)__builtin_ia32_cvtudq2ps512_mask((__v16si)(__m512i)(A), \
|
|
3592
|
-
|
|
3593
|
-
|
|
3595
|
+
((__m512)__builtin_ia32_cvtudq2ps512_mask((__v16si)(__m512i)(A), \
|
|
3596
|
+
(__v16sf)_mm512_setzero_ps(), \
|
|
3597
|
+
(__mmask16)(U), (int)(R)))
|
|
3594
3598
|
|
|
3595
3599
|
static __inline__ __m512 __DEFAULT_FN_ATTRS512
|
|
3596
3600
|
_mm512_cvtepu32_ps (__m512i __A)
|
|
@@ -3705,19 +3709,19 @@ _mm512_mask_cvtepu32lo_pd(__m512d __W, __mmask8 __U,__m512i __A)
|
|
|
3705
3709
|
}
|
|
3706
3710
|
|
|
3707
3711
|
#define _mm512_cvt_roundpd_ps(A, R) \
|
|
3708
|
-
(__m256)__builtin_ia32_cvtpd2ps512_mask((__v8df)(__m512d)(A), \
|
|
3709
|
-
|
|
3710
|
-
|
|
3712
|
+
((__m256)__builtin_ia32_cvtpd2ps512_mask((__v8df)(__m512d)(A), \
|
|
3713
|
+
(__v8sf)_mm256_setzero_ps(), \
|
|
3714
|
+
(__mmask8)-1, (int)(R)))
|
|
3711
3715
|
|
|
3712
3716
|
#define _mm512_mask_cvt_roundpd_ps(W, U, A, R) \
|
|
3713
|
-
(__m256)__builtin_ia32_cvtpd2ps512_mask((__v8df)(__m512d)(A), \
|
|
3714
|
-
|
|
3715
|
-
|
|
3717
|
+
((__m256)__builtin_ia32_cvtpd2ps512_mask((__v8df)(__m512d)(A), \
|
|
3718
|
+
(__v8sf)(__m256)(W), (__mmask8)(U), \
|
|
3719
|
+
(int)(R)))
|
|
3716
3720
|
|
|
3717
3721
|
#define _mm512_maskz_cvt_roundpd_ps(U, A, R) \
|
|
3718
|
-
(__m256)__builtin_ia32_cvtpd2ps512_mask((__v8df)(__m512d)(A), \
|
|
3719
|
-
|
|
3720
|
-
|
|
3722
|
+
((__m256)__builtin_ia32_cvtpd2ps512_mask((__v8df)(__m512d)(A), \
|
|
3723
|
+
(__v8sf)_mm256_setzero_ps(), \
|
|
3724
|
+
(__mmask8)(U), (int)(R)))
|
|
3721
3725
|
|
|
3722
3726
|
static __inline__ __m256 __DEFAULT_FN_ATTRS512
|
|
3723
3727
|
_mm512_cvtpd_ps (__m512d __A)
|
|
@@ -3765,38 +3769,38 @@ _mm512_mask_cvtpd_pslo (__m512 __W, __mmask8 __U,__m512d __A)
|
|
|
3765
3769
|
}
|
|
3766
3770
|
|
|
3767
3771
|
#define _mm512_cvt_roundps_ph(A, I) \
|
|
3768
|
-
(__m256i)__builtin_ia32_vcvtps2ph512_mask((__v16sf)(__m512)(A), (int)(I), \
|
|
3769
|
-
|
|
3770
|
-
|
|
3772
|
+
((__m256i)__builtin_ia32_vcvtps2ph512_mask((__v16sf)(__m512)(A), (int)(I), \
|
|
3773
|
+
(__v16hi)_mm256_undefined_si256(), \
|
|
3774
|
+
(__mmask16)-1))
|
|
3771
3775
|
|
|
3772
3776
|
#define _mm512_mask_cvt_roundps_ph(U, W, A, I) \
|
|
3773
|
-
(__m256i)__builtin_ia32_vcvtps2ph512_mask((__v16sf)(__m512)(A), (int)(I), \
|
|
3774
|
-
|
|
3775
|
-
|
|
3777
|
+
((__m256i)__builtin_ia32_vcvtps2ph512_mask((__v16sf)(__m512)(A), (int)(I), \
|
|
3778
|
+
(__v16hi)(__m256i)(U), \
|
|
3779
|
+
(__mmask16)(W)))
|
|
3776
3780
|
|
|
3777
3781
|
#define _mm512_maskz_cvt_roundps_ph(W, A, I) \
|
|
3778
|
-
(__m256i)__builtin_ia32_vcvtps2ph512_mask((__v16sf)(__m512)(A), (int)(I), \
|
|
3779
|
-
|
|
3780
|
-
|
|
3782
|
+
((__m256i)__builtin_ia32_vcvtps2ph512_mask((__v16sf)(__m512)(A), (int)(I), \
|
|
3783
|
+
(__v16hi)_mm256_setzero_si256(), \
|
|
3784
|
+
(__mmask16)(W)))
|
|
3781
3785
|
|
|
3782
3786
|
#define _mm512_cvtps_ph _mm512_cvt_roundps_ph
|
|
3783
3787
|
#define _mm512_mask_cvtps_ph _mm512_mask_cvt_roundps_ph
|
|
3784
3788
|
#define _mm512_maskz_cvtps_ph _mm512_maskz_cvt_roundps_ph
|
|
3785
3789
|
|
|
3786
3790
|
#define _mm512_cvt_roundph_ps(A, R) \
|
|
3787
|
-
(__m512)__builtin_ia32_vcvtph2ps512_mask((__v16hi)(__m256i)(A), \
|
|
3788
|
-
|
|
3789
|
-
|
|
3791
|
+
((__m512)__builtin_ia32_vcvtph2ps512_mask((__v16hi)(__m256i)(A), \
|
|
3792
|
+
(__v16sf)_mm512_undefined_ps(), \
|
|
3793
|
+
(__mmask16)-1, (int)(R)))
|
|
3790
3794
|
|
|
3791
3795
|
#define _mm512_mask_cvt_roundph_ps(W, U, A, R) \
|
|
3792
|
-
(__m512)__builtin_ia32_vcvtph2ps512_mask((__v16hi)(__m256i)(A), \
|
|
3793
|
-
|
|
3794
|
-
|
|
3796
|
+
((__m512)__builtin_ia32_vcvtph2ps512_mask((__v16hi)(__m256i)(A), \
|
|
3797
|
+
(__v16sf)(__m512)(W), \
|
|
3798
|
+
(__mmask16)(U), (int)(R)))
|
|
3795
3799
|
|
|
3796
3800
|
#define _mm512_maskz_cvt_roundph_ps(U, A, R) \
|
|
3797
|
-
(__m512)__builtin_ia32_vcvtph2ps512_mask((__v16hi)(__m256i)(A), \
|
|
3798
|
-
|
|
3799
|
-
|
|
3801
|
+
((__m512)__builtin_ia32_vcvtph2ps512_mask((__v16hi)(__m256i)(A), \
|
|
3802
|
+
(__v16sf)_mm512_setzero_ps(), \
|
|
3803
|
+
(__mmask16)(U), (int)(R)))
|
|
3800
3804
|
|
|
3801
3805
|
|
|
3802
3806
|
static __inline __m512 __DEFAULT_FN_ATTRS512
|
|
@@ -3828,19 +3832,19 @@ _mm512_maskz_cvtph_ps (__mmask16 __U, __m256i __A)
|
|
|
3828
3832
|
}
|
|
3829
3833
|
|
|
3830
3834
|
#define _mm512_cvtt_roundpd_epi32(A, R) \
|
|
3831
|
-
(__m256i)__builtin_ia32_cvttpd2dq512_mask((__v8df)(__m512d)(A), \
|
|
3832
|
-
|
|
3833
|
-
|
|
3835
|
+
((__m256i)__builtin_ia32_cvttpd2dq512_mask((__v8df)(__m512d)(A), \
|
|
3836
|
+
(__v8si)_mm256_setzero_si256(), \
|
|
3837
|
+
(__mmask8)-1, (int)(R)))
|
|
3834
3838
|
|
|
3835
3839
|
#define _mm512_mask_cvtt_roundpd_epi32(W, U, A, R) \
|
|
3836
|
-
(__m256i)__builtin_ia32_cvttpd2dq512_mask((__v8df)(__m512d)(A), \
|
|
3837
|
-
|
|
3838
|
-
|
|
3840
|
+
((__m256i)__builtin_ia32_cvttpd2dq512_mask((__v8df)(__m512d)(A), \
|
|
3841
|
+
(__v8si)(__m256i)(W), \
|
|
3842
|
+
(__mmask8)(U), (int)(R)))
|
|
3839
3843
|
|
|
3840
3844
|
#define _mm512_maskz_cvtt_roundpd_epi32(U, A, R) \
|
|
3841
|
-
(__m256i)__builtin_ia32_cvttpd2dq512_mask((__v8df)(__m512d)(A), \
|
|
3842
|
-
|
|
3843
|
-
|
|
3845
|
+
((__m256i)__builtin_ia32_cvttpd2dq512_mask((__v8df)(__m512d)(A), \
|
|
3846
|
+
(__v8si)_mm256_setzero_si256(), \
|
|
3847
|
+
(__mmask8)(U), (int)(R)))
|
|
3844
3848
|
|
|
3845
3849
|
static __inline __m256i __DEFAULT_FN_ATTRS512
|
|
3846
3850
|
_mm512_cvttpd_epi32(__m512d __a)
|
|
@@ -3870,19 +3874,19 @@ _mm512_maskz_cvttpd_epi32 (__mmask8 __U, __m512d __A)
|
|
|
3870
3874
|
}
|
|
3871
3875
|
|
|
3872
3876
|
#define _mm512_cvtt_roundps_epi32(A, R) \
|
|
3873
|
-
(__m512i)__builtin_ia32_cvttps2dq512_mask((__v16sf)(__m512)(A), \
|
|
3874
|
-
|
|
3875
|
-
|
|
3877
|
+
((__m512i)__builtin_ia32_cvttps2dq512_mask((__v16sf)(__m512)(A), \
|
|
3878
|
+
(__v16si)_mm512_setzero_si512(), \
|
|
3879
|
+
(__mmask16)-1, (int)(R)))
|
|
3876
3880
|
|
|
3877
3881
|
#define _mm512_mask_cvtt_roundps_epi32(W, U, A, R) \
|
|
3878
|
-
(__m512i)__builtin_ia32_cvttps2dq512_mask((__v16sf)(__m512)(A), \
|
|
3879
|
-
|
|
3880
|
-
|
|
3882
|
+
((__m512i)__builtin_ia32_cvttps2dq512_mask((__v16sf)(__m512)(A), \
|
|
3883
|
+
(__v16si)(__m512i)(W), \
|
|
3884
|
+
(__mmask16)(U), (int)(R)))
|
|
3881
3885
|
|
|
3882
3886
|
#define _mm512_maskz_cvtt_roundps_epi32(U, A, R) \
|
|
3883
|
-
(__m512i)__builtin_ia32_cvttps2dq512_mask((__v16sf)(__m512)(A), \
|
|
3884
|
-
|
|
3885
|
-
|
|
3887
|
+
((__m512i)__builtin_ia32_cvttps2dq512_mask((__v16sf)(__m512)(A), \
|
|
3888
|
+
(__v16si)_mm512_setzero_si512(), \
|
|
3889
|
+
(__mmask16)(U), (int)(R)))
|
|
3886
3890
|
|
|
3887
3891
|
static __inline __m512i __DEFAULT_FN_ATTRS512
|
|
3888
3892
|
_mm512_cvttps_epi32(__m512 __a)
|
|
@@ -3912,19 +3916,19 @@ _mm512_maskz_cvttps_epi32 (__mmask16 __U, __m512 __A)
|
|
|
3912
3916
|
}
|
|
3913
3917
|
|
|
3914
3918
|
#define _mm512_cvt_roundps_epi32(A, R) \
|
|
3915
|
-
(__m512i)__builtin_ia32_cvtps2dq512_mask((__v16sf)(__m512)(A), \
|
|
3916
|
-
|
|
3917
|
-
|
|
3919
|
+
((__m512i)__builtin_ia32_cvtps2dq512_mask((__v16sf)(__m512)(A), \
|
|
3920
|
+
(__v16si)_mm512_setzero_si512(), \
|
|
3921
|
+
(__mmask16)-1, (int)(R)))
|
|
3918
3922
|
|
|
3919
3923
|
#define _mm512_mask_cvt_roundps_epi32(W, U, A, R) \
|
|
3920
|
-
(__m512i)__builtin_ia32_cvtps2dq512_mask((__v16sf)(__m512)(A), \
|
|
3921
|
-
|
|
3922
|
-
|
|
3924
|
+
((__m512i)__builtin_ia32_cvtps2dq512_mask((__v16sf)(__m512)(A), \
|
|
3925
|
+
(__v16si)(__m512i)(W), \
|
|
3926
|
+
(__mmask16)(U), (int)(R)))
|
|
3923
3927
|
|
|
3924
3928
|
#define _mm512_maskz_cvt_roundps_epi32(U, A, R) \
|
|
3925
|
-
(__m512i)__builtin_ia32_cvtps2dq512_mask((__v16sf)(__m512)(A), \
|
|
3926
|
-
|
|
3927
|
-
|
|
3929
|
+
((__m512i)__builtin_ia32_cvtps2dq512_mask((__v16sf)(__m512)(A), \
|
|
3930
|
+
(__v16si)_mm512_setzero_si512(), \
|
|
3931
|
+
(__mmask16)(U), (int)(R)))
|
|
3928
3932
|
|
|
3929
3933
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
3930
3934
|
_mm512_cvtps_epi32 (__m512 __A)
|
|
@@ -3955,19 +3959,19 @@ _mm512_maskz_cvtps_epi32 (__mmask16 __U, __m512 __A)
|
|
|
3955
3959
|
}
|
|
3956
3960
|
|
|
3957
3961
|
#define _mm512_cvt_roundpd_epi32(A, R) \
|
|
3958
|
-
(__m256i)__builtin_ia32_cvtpd2dq512_mask((__v8df)(__m512d)(A), \
|
|
3959
|
-
|
|
3960
|
-
|
|
3962
|
+
((__m256i)__builtin_ia32_cvtpd2dq512_mask((__v8df)(__m512d)(A), \
|
|
3963
|
+
(__v8si)_mm256_setzero_si256(), \
|
|
3964
|
+
(__mmask8)-1, (int)(R)))
|
|
3961
3965
|
|
|
3962
3966
|
#define _mm512_mask_cvt_roundpd_epi32(W, U, A, R) \
|
|
3963
|
-
(__m256i)__builtin_ia32_cvtpd2dq512_mask((__v8df)(__m512d)(A), \
|
|
3964
|
-
|
|
3965
|
-
|
|
3967
|
+
((__m256i)__builtin_ia32_cvtpd2dq512_mask((__v8df)(__m512d)(A), \
|
|
3968
|
+
(__v8si)(__m256i)(W), \
|
|
3969
|
+
(__mmask8)(U), (int)(R)))
|
|
3966
3970
|
|
|
3967
3971
|
#define _mm512_maskz_cvt_roundpd_epi32(U, A, R) \
|
|
3968
|
-
(__m256i)__builtin_ia32_cvtpd2dq512_mask((__v8df)(__m512d)(A), \
|
|
3969
|
-
|
|
3970
|
-
|
|
3972
|
+
((__m256i)__builtin_ia32_cvtpd2dq512_mask((__v8df)(__m512d)(A), \
|
|
3973
|
+
(__v8si)_mm256_setzero_si256(), \
|
|
3974
|
+
(__mmask8)(U), (int)(R)))
|
|
3971
3975
|
|
|
3972
3976
|
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
3973
3977
|
_mm512_cvtpd_epi32 (__m512d __A)
|
|
@@ -3999,19 +4003,19 @@ _mm512_maskz_cvtpd_epi32 (__mmask8 __U, __m512d __A)
|
|
|
3999
4003
|
}
|
|
4000
4004
|
|
|
4001
4005
|
#define _mm512_cvt_roundps_epu32(A, R) \
|
|
4002
|
-
(__m512i)__builtin_ia32_cvtps2udq512_mask((__v16sf)(__m512)(A), \
|
|
4003
|
-
|
|
4004
|
-
|
|
4006
|
+
((__m512i)__builtin_ia32_cvtps2udq512_mask((__v16sf)(__m512)(A), \
|
|
4007
|
+
(__v16si)_mm512_setzero_si512(), \
|
|
4008
|
+
(__mmask16)-1, (int)(R)))
|
|
4005
4009
|
|
|
4006
4010
|
#define _mm512_mask_cvt_roundps_epu32(W, U, A, R) \
|
|
4007
|
-
(__m512i)__builtin_ia32_cvtps2udq512_mask((__v16sf)(__m512)(A), \
|
|
4008
|
-
|
|
4009
|
-
|
|
4011
|
+
((__m512i)__builtin_ia32_cvtps2udq512_mask((__v16sf)(__m512)(A), \
|
|
4012
|
+
(__v16si)(__m512i)(W), \
|
|
4013
|
+
(__mmask16)(U), (int)(R)))
|
|
4010
4014
|
|
|
4011
4015
|
#define _mm512_maskz_cvt_roundps_epu32(U, A, R) \
|
|
4012
|
-
(__m512i)__builtin_ia32_cvtps2udq512_mask((__v16sf)(__m512)(A), \
|
|
4013
|
-
|
|
4014
|
-
|
|
4016
|
+
((__m512i)__builtin_ia32_cvtps2udq512_mask((__v16sf)(__m512)(A), \
|
|
4017
|
+
(__v16si)_mm512_setzero_si512(), \
|
|
4018
|
+
(__mmask16)(U), (int)(R)))
|
|
4015
4019
|
|
|
4016
4020
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
4017
4021
|
_mm512_cvtps_epu32 ( __m512 __A)
|
|
@@ -4043,19 +4047,19 @@ _mm512_maskz_cvtps_epu32 ( __mmask16 __U, __m512 __A)
|
|
|
4043
4047
|
}
|
|
4044
4048
|
|
|
4045
4049
|
#define _mm512_cvt_roundpd_epu32(A, R) \
|
|
4046
|
-
(__m256i)__builtin_ia32_cvtpd2udq512_mask((__v8df)(__m512d)(A), \
|
|
4047
|
-
|
|
4048
|
-
|
|
4050
|
+
((__m256i)__builtin_ia32_cvtpd2udq512_mask((__v8df)(__m512d)(A), \
|
|
4051
|
+
(__v8si)_mm256_setzero_si256(), \
|
|
4052
|
+
(__mmask8)-1, (int)(R)))
|
|
4049
4053
|
|
|
4050
4054
|
#define _mm512_mask_cvt_roundpd_epu32(W, U, A, R) \
|
|
4051
|
-
(__m256i)__builtin_ia32_cvtpd2udq512_mask((__v8df)(__m512d)(A), \
|
|
4052
|
-
|
|
4053
|
-
|
|
4055
|
+
((__m256i)__builtin_ia32_cvtpd2udq512_mask((__v8df)(__m512d)(A), \
|
|
4056
|
+
(__v8si)(__m256i)(W), \
|
|
4057
|
+
(__mmask8)(U), (int)(R)))
|
|
4054
4058
|
|
|
4055
4059
|
#define _mm512_maskz_cvt_roundpd_epu32(U, A, R) \
|
|
4056
|
-
(__m256i)__builtin_ia32_cvtpd2udq512_mask((__v8df)(__m512d)(A), \
|
|
4057
|
-
|
|
4058
|
-
|
|
4060
|
+
((__m256i)__builtin_ia32_cvtpd2udq512_mask((__v8df)(__m512d)(A), \
|
|
4061
|
+
(__v8si)_mm256_setzero_si256(), \
|
|
4062
|
+
(__mmask8)(U), (int)(R)))
|
|
4059
4063
|
|
|
4060
4064
|
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
4061
4065
|
_mm512_cvtpd_epu32 (__m512d __A)
|
|
@@ -4975,70 +4979,70 @@ _mm512_maskz_rorv_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
|
|
|
4975
4979
|
|
|
4976
4980
|
|
|
4977
4981
|
#define _mm512_cmp_epi32_mask(a, b, p) \
|
|
4978
|
-
(__mmask16)__builtin_ia32_cmpd512_mask((__v16si)(__m512i)(a), \
|
|
4979
|
-
|
|
4980
|
-
|
|
4982
|
+
((__mmask16)__builtin_ia32_cmpd512_mask((__v16si)(__m512i)(a), \
|
|
4983
|
+
(__v16si)(__m512i)(b), (int)(p), \
|
|
4984
|
+
(__mmask16)-1))
|
|
4981
4985
|
|
|
4982
4986
|
#define _mm512_cmp_epu32_mask(a, b, p) \
|
|
4983
|
-
(__mmask16)__builtin_ia32_ucmpd512_mask((__v16si)(__m512i)(a), \
|
|
4984
|
-
|
|
4985
|
-
|
|
4987
|
+
((__mmask16)__builtin_ia32_ucmpd512_mask((__v16si)(__m512i)(a), \
|
|
4988
|
+
(__v16si)(__m512i)(b), (int)(p), \
|
|
4989
|
+
(__mmask16)-1))
|
|
4986
4990
|
|
|
4987
4991
|
#define _mm512_cmp_epi64_mask(a, b, p) \
|
|
4988
|
-
(__mmask8)__builtin_ia32_cmpq512_mask((__v8di)(__m512i)(a), \
|
|
4989
|
-
|
|
4990
|
-
|
|
4992
|
+
((__mmask8)__builtin_ia32_cmpq512_mask((__v8di)(__m512i)(a), \
|
|
4993
|
+
(__v8di)(__m512i)(b), (int)(p), \
|
|
4994
|
+
(__mmask8)-1))
|
|
4991
4995
|
|
|
4992
4996
|
#define _mm512_cmp_epu64_mask(a, b, p) \
|
|
4993
|
-
(__mmask8)__builtin_ia32_ucmpq512_mask((__v8di)(__m512i)(a), \
|
|
4994
|
-
|
|
4995
|
-
|
|
4997
|
+
((__mmask8)__builtin_ia32_ucmpq512_mask((__v8di)(__m512i)(a), \
|
|
4998
|
+
(__v8di)(__m512i)(b), (int)(p), \
|
|
4999
|
+
(__mmask8)-1))
|
|
4996
5000
|
|
|
4997
5001
|
#define _mm512_mask_cmp_epi32_mask(m, a, b, p) \
|
|
4998
|
-
(__mmask16)__builtin_ia32_cmpd512_mask((__v16si)(__m512i)(a), \
|
|
4999
|
-
|
|
5000
|
-
|
|
5002
|
+
((__mmask16)__builtin_ia32_cmpd512_mask((__v16si)(__m512i)(a), \
|
|
5003
|
+
(__v16si)(__m512i)(b), (int)(p), \
|
|
5004
|
+
(__mmask16)(m)))
|
|
5001
5005
|
|
|
5002
5006
|
#define _mm512_mask_cmp_epu32_mask(m, a, b, p) \
|
|
5003
|
-
(__mmask16)__builtin_ia32_ucmpd512_mask((__v16si)(__m512i)(a), \
|
|
5004
|
-
|
|
5005
|
-
|
|
5007
|
+
((__mmask16)__builtin_ia32_ucmpd512_mask((__v16si)(__m512i)(a), \
|
|
5008
|
+
(__v16si)(__m512i)(b), (int)(p), \
|
|
5009
|
+
(__mmask16)(m)))
|
|
5006
5010
|
|
|
5007
5011
|
#define _mm512_mask_cmp_epi64_mask(m, a, b, p) \
|
|
5008
|
-
(__mmask8)__builtin_ia32_cmpq512_mask((__v8di)(__m512i)(a), \
|
|
5009
|
-
|
|
5010
|
-
|
|
5012
|
+
((__mmask8)__builtin_ia32_cmpq512_mask((__v8di)(__m512i)(a), \
|
|
5013
|
+
(__v8di)(__m512i)(b), (int)(p), \
|
|
5014
|
+
(__mmask8)(m)))
|
|
5011
5015
|
|
|
5012
5016
|
#define _mm512_mask_cmp_epu64_mask(m, a, b, p) \
|
|
5013
|
-
(__mmask8)__builtin_ia32_ucmpq512_mask((__v8di)(__m512i)(a), \
|
|
5014
|
-
|
|
5015
|
-
|
|
5017
|
+
((__mmask8)__builtin_ia32_ucmpq512_mask((__v8di)(__m512i)(a), \
|
|
5018
|
+
(__v8di)(__m512i)(b), (int)(p), \
|
|
5019
|
+
(__mmask8)(m)))
|
|
5016
5020
|
|
|
5017
5021
|
#define _mm512_rol_epi32(a, b) \
|
|
5018
|
-
(__m512i)__builtin_ia32_prold512((__v16si)(__m512i)(a), (int)(b))
|
|
5022
|
+
((__m512i)__builtin_ia32_prold512((__v16si)(__m512i)(a), (int)(b)))
|
|
5019
5023
|
|
|
5020
5024
|
#define _mm512_mask_rol_epi32(W, U, a, b) \
|
|
5021
|
-
(__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
5022
|
-
|
|
5023
|
-
|
|
5025
|
+
((__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
5026
|
+
(__v16si)_mm512_rol_epi32((a), (b)), \
|
|
5027
|
+
(__v16si)(__m512i)(W)))
|
|
5024
5028
|
|
|
5025
5029
|
#define _mm512_maskz_rol_epi32(U, a, b) \
|
|
5026
|
-
(__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
5027
|
-
|
|
5028
|
-
|
|
5030
|
+
((__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
5031
|
+
(__v16si)_mm512_rol_epi32((a), (b)), \
|
|
5032
|
+
(__v16si)_mm512_setzero_si512()))
|
|
5029
5033
|
|
|
5030
5034
|
#define _mm512_rol_epi64(a, b) \
|
|
5031
|
-
(__m512i)__builtin_ia32_prolq512((__v8di)(__m512i)(a), (int)(b))
|
|
5035
|
+
((__m512i)__builtin_ia32_prolq512((__v8di)(__m512i)(a), (int)(b)))
|
|
5032
5036
|
|
|
5033
5037
|
#define _mm512_mask_rol_epi64(W, U, a, b) \
|
|
5034
|
-
(__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
5035
|
-
|
|
5036
|
-
|
|
5038
|
+
((__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
5039
|
+
(__v8di)_mm512_rol_epi64((a), (b)), \
|
|
5040
|
+
(__v8di)(__m512i)(W)))
|
|
5037
5041
|
|
|
5038
5042
|
#define _mm512_maskz_rol_epi64(U, a, b) \
|
|
5039
|
-
(__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
5040
|
-
|
|
5041
|
-
|
|
5043
|
+
((__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
5044
|
+
(__v8di)_mm512_rol_epi64((a), (b)), \
|
|
5045
|
+
(__v8di)_mm512_setzero_si512()))
|
|
5042
5046
|
|
|
5043
5047
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
5044
5048
|
_mm512_rolv_epi32 (__m512i __A, __m512i __B)
|
|
@@ -5085,30 +5089,30 @@ _mm512_maskz_rolv_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
|
|
|
5085
5089
|
}
|
|
5086
5090
|
|
|
5087
5091
|
#define _mm512_ror_epi32(A, B) \
|
|
5088
|
-
(__m512i)__builtin_ia32_prord512((__v16si)(__m512i)(A), (int)(B))
|
|
5092
|
+
((__m512i)__builtin_ia32_prord512((__v16si)(__m512i)(A), (int)(B)))
|
|
5089
5093
|
|
|
5090
5094
|
#define _mm512_mask_ror_epi32(W, U, A, B) \
|
|
5091
|
-
(__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
5092
|
-
|
|
5093
|
-
|
|
5095
|
+
((__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
5096
|
+
(__v16si)_mm512_ror_epi32((A), (B)), \
|
|
5097
|
+
(__v16si)(__m512i)(W)))
|
|
5094
5098
|
|
|
5095
5099
|
#define _mm512_maskz_ror_epi32(U, A, B) \
|
|
5096
|
-
(__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
5097
|
-
|
|
5098
|
-
|
|
5100
|
+
((__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
5101
|
+
(__v16si)_mm512_ror_epi32((A), (B)), \
|
|
5102
|
+
(__v16si)_mm512_setzero_si512()))
|
|
5099
5103
|
|
|
5100
5104
|
#define _mm512_ror_epi64(A, B) \
|
|
5101
|
-
(__m512i)__builtin_ia32_prorq512((__v8di)(__m512i)(A), (int)(B))
|
|
5105
|
+
((__m512i)__builtin_ia32_prorq512((__v8di)(__m512i)(A), (int)(B)))
|
|
5102
5106
|
|
|
5103
5107
|
#define _mm512_mask_ror_epi64(W, U, A, B) \
|
|
5104
|
-
(__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
5105
|
-
|
|
5106
|
-
|
|
5108
|
+
((__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
5109
|
+
(__v8di)_mm512_ror_epi64((A), (B)), \
|
|
5110
|
+
(__v8di)(__m512i)(W)))
|
|
5107
5111
|
|
|
5108
5112
|
#define _mm512_maskz_ror_epi64(U, A, B) \
|
|
5109
|
-
(__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
5110
|
-
|
|
5111
|
-
|
|
5113
|
+
((__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
5114
|
+
(__v8di)_mm512_ror_epi64((A), (B)), \
|
|
5115
|
+
(__v8di)_mm512_setzero_si512()))
|
|
5112
5116
|
|
|
5113
5117
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
5114
5118
|
_mm512_slli_epi32(__m512i __A, unsigned int __B)
|
|
@@ -5304,168 +5308,168 @@ _mm512_maskz_movedup_pd (__mmask8 __U, __m512d __A)
|
|
|
5304
5308
|
}
|
|
5305
5309
|
|
|
5306
5310
|
#define _mm512_fixupimm_round_pd(A, B, C, imm, R) \
|
|
5307
|
-
(__m512d)__builtin_ia32_fixupimmpd512_mask((__v8df)(__m512d)(A), \
|
|
5308
|
-
|
|
5309
|
-
|
|
5310
|
-
|
|
5311
|
+
((__m512d)__builtin_ia32_fixupimmpd512_mask((__v8df)(__m512d)(A), \
|
|
5312
|
+
(__v8df)(__m512d)(B), \
|
|
5313
|
+
(__v8di)(__m512i)(C), (int)(imm), \
|
|
5314
|
+
(__mmask8)-1, (int)(R)))
|
|
5311
5315
|
|
|
5312
5316
|
#define _mm512_mask_fixupimm_round_pd(A, U, B, C, imm, R) \
|
|
5313
|
-
(__m512d)__builtin_ia32_fixupimmpd512_mask((__v8df)(__m512d)(A), \
|
|
5314
|
-
|
|
5315
|
-
|
|
5316
|
-
|
|
5317
|
+
((__m512d)__builtin_ia32_fixupimmpd512_mask((__v8df)(__m512d)(A), \
|
|
5318
|
+
(__v8df)(__m512d)(B), \
|
|
5319
|
+
(__v8di)(__m512i)(C), (int)(imm), \
|
|
5320
|
+
(__mmask8)(U), (int)(R)))
|
|
5317
5321
|
|
|
5318
5322
|
#define _mm512_fixupimm_pd(A, B, C, imm) \
|
|
5319
|
-
(__m512d)__builtin_ia32_fixupimmpd512_mask((__v8df)(__m512d)(A), \
|
|
5320
|
-
|
|
5321
|
-
|
|
5322
|
-
|
|
5323
|
-
|
|
5323
|
+
((__m512d)__builtin_ia32_fixupimmpd512_mask((__v8df)(__m512d)(A), \
|
|
5324
|
+
(__v8df)(__m512d)(B), \
|
|
5325
|
+
(__v8di)(__m512i)(C), (int)(imm), \
|
|
5326
|
+
(__mmask8)-1, \
|
|
5327
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
5324
5328
|
|
|
5325
5329
|
#define _mm512_mask_fixupimm_pd(A, U, B, C, imm) \
|
|
5326
|
-
(__m512d)__builtin_ia32_fixupimmpd512_mask((__v8df)(__m512d)(A), \
|
|
5327
|
-
|
|
5328
|
-
|
|
5329
|
-
|
|
5330
|
-
|
|
5330
|
+
((__m512d)__builtin_ia32_fixupimmpd512_mask((__v8df)(__m512d)(A), \
|
|
5331
|
+
(__v8df)(__m512d)(B), \
|
|
5332
|
+
(__v8di)(__m512i)(C), (int)(imm), \
|
|
5333
|
+
(__mmask8)(U), \
|
|
5334
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
5331
5335
|
|
|
5332
5336
|
#define _mm512_maskz_fixupimm_round_pd(U, A, B, C, imm, R) \
|
|
5333
|
-
(__m512d)__builtin_ia32_fixupimmpd512_maskz((__v8df)(__m512d)(A), \
|
|
5334
|
-
|
|
5335
|
-
|
|
5336
|
-
|
|
5337
|
-
|
|
5337
|
+
((__m512d)__builtin_ia32_fixupimmpd512_maskz((__v8df)(__m512d)(A), \
|
|
5338
|
+
(__v8df)(__m512d)(B), \
|
|
5339
|
+
(__v8di)(__m512i)(C), \
|
|
5340
|
+
(int)(imm), (__mmask8)(U), \
|
|
5341
|
+
(int)(R)))
|
|
5338
5342
|
|
|
5339
5343
|
#define _mm512_maskz_fixupimm_pd(U, A, B, C, imm) \
|
|
5340
|
-
(__m512d)__builtin_ia32_fixupimmpd512_maskz((__v8df)(__m512d)(A), \
|
|
5341
|
-
|
|
5342
|
-
|
|
5343
|
-
|
|
5344
|
-
|
|
5344
|
+
((__m512d)__builtin_ia32_fixupimmpd512_maskz((__v8df)(__m512d)(A), \
|
|
5345
|
+
(__v8df)(__m512d)(B), \
|
|
5346
|
+
(__v8di)(__m512i)(C), \
|
|
5347
|
+
(int)(imm), (__mmask8)(U), \
|
|
5348
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
5345
5349
|
|
|
5346
5350
|
#define _mm512_fixupimm_round_ps(A, B, C, imm, R) \
|
|
5347
|
-
(__m512)__builtin_ia32_fixupimmps512_mask((__v16sf)(__m512)(A), \
|
|
5348
|
-
|
|
5349
|
-
|
|
5350
|
-
|
|
5351
|
+
((__m512)__builtin_ia32_fixupimmps512_mask((__v16sf)(__m512)(A), \
|
|
5352
|
+
(__v16sf)(__m512)(B), \
|
|
5353
|
+
(__v16si)(__m512i)(C), (int)(imm), \
|
|
5354
|
+
(__mmask16)-1, (int)(R)))
|
|
5351
5355
|
|
|
5352
5356
|
#define _mm512_mask_fixupimm_round_ps(A, U, B, C, imm, R) \
|
|
5353
|
-
(__m512)__builtin_ia32_fixupimmps512_mask((__v16sf)(__m512)(A), \
|
|
5354
|
-
|
|
5355
|
-
|
|
5356
|
-
|
|
5357
|
+
((__m512)__builtin_ia32_fixupimmps512_mask((__v16sf)(__m512)(A), \
|
|
5358
|
+
(__v16sf)(__m512)(B), \
|
|
5359
|
+
(__v16si)(__m512i)(C), (int)(imm), \
|
|
5360
|
+
(__mmask16)(U), (int)(R)))
|
|
5357
5361
|
|
|
5358
5362
|
#define _mm512_fixupimm_ps(A, B, C, imm) \
|
|
5359
|
-
(__m512)__builtin_ia32_fixupimmps512_mask((__v16sf)(__m512)(A), \
|
|
5360
|
-
|
|
5361
|
-
|
|
5362
|
-
|
|
5363
|
-
|
|
5363
|
+
((__m512)__builtin_ia32_fixupimmps512_mask((__v16sf)(__m512)(A), \
|
|
5364
|
+
(__v16sf)(__m512)(B), \
|
|
5365
|
+
(__v16si)(__m512i)(C), (int)(imm), \
|
|
5366
|
+
(__mmask16)-1, \
|
|
5367
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
5364
5368
|
|
|
5365
5369
|
#define _mm512_mask_fixupimm_ps(A, U, B, C, imm) \
|
|
5366
|
-
(__m512)__builtin_ia32_fixupimmps512_mask((__v16sf)(__m512)(A), \
|
|
5367
|
-
|
|
5368
|
-
|
|
5369
|
-
|
|
5370
|
-
|
|
5370
|
+
((__m512)__builtin_ia32_fixupimmps512_mask((__v16sf)(__m512)(A), \
|
|
5371
|
+
(__v16sf)(__m512)(B), \
|
|
5372
|
+
(__v16si)(__m512i)(C), (int)(imm), \
|
|
5373
|
+
(__mmask16)(U), \
|
|
5374
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
5371
5375
|
|
|
5372
5376
|
#define _mm512_maskz_fixupimm_round_ps(U, A, B, C, imm, R) \
|
|
5373
|
-
(__m512)__builtin_ia32_fixupimmps512_maskz((__v16sf)(__m512)(A), \
|
|
5374
|
-
|
|
5375
|
-
|
|
5376
|
-
|
|
5377
|
-
|
|
5377
|
+
((__m512)__builtin_ia32_fixupimmps512_maskz((__v16sf)(__m512)(A), \
|
|
5378
|
+
(__v16sf)(__m512)(B), \
|
|
5379
|
+
(__v16si)(__m512i)(C), \
|
|
5380
|
+
(int)(imm), (__mmask16)(U), \
|
|
5381
|
+
(int)(R)))
|
|
5378
5382
|
|
|
5379
5383
|
#define _mm512_maskz_fixupimm_ps(U, A, B, C, imm) \
|
|
5380
|
-
(__m512)__builtin_ia32_fixupimmps512_maskz((__v16sf)(__m512)(A), \
|
|
5381
|
-
|
|
5382
|
-
|
|
5383
|
-
|
|
5384
|
-
|
|
5384
|
+
((__m512)__builtin_ia32_fixupimmps512_maskz((__v16sf)(__m512)(A), \
|
|
5385
|
+
(__v16sf)(__m512)(B), \
|
|
5386
|
+
(__v16si)(__m512i)(C), \
|
|
5387
|
+
(int)(imm), (__mmask16)(U), \
|
|
5388
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
5385
5389
|
|
|
5386
5390
|
#define _mm_fixupimm_round_sd(A, B, C, imm, R) \
|
|
5387
|
-
(__m128d)__builtin_ia32_fixupimmsd_mask((__v2df)(__m128d)(A), \
|
|
5388
|
-
|
|
5389
|
-
|
|
5390
|
-
|
|
5391
|
+
((__m128d)__builtin_ia32_fixupimmsd_mask((__v2df)(__m128d)(A), \
|
|
5392
|
+
(__v2df)(__m128d)(B), \
|
|
5393
|
+
(__v2di)(__m128i)(C), (int)(imm), \
|
|
5394
|
+
(__mmask8)-1, (int)(R)))
|
|
5391
5395
|
|
|
5392
5396
|
#define _mm_mask_fixupimm_round_sd(A, U, B, C, imm, R) \
|
|
5393
|
-
(__m128d)__builtin_ia32_fixupimmsd_mask((__v2df)(__m128d)(A), \
|
|
5394
|
-
|
|
5395
|
-
|
|
5396
|
-
|
|
5397
|
+
((__m128d)__builtin_ia32_fixupimmsd_mask((__v2df)(__m128d)(A), \
|
|
5398
|
+
(__v2df)(__m128d)(B), \
|
|
5399
|
+
(__v2di)(__m128i)(C), (int)(imm), \
|
|
5400
|
+
(__mmask8)(U), (int)(R)))
|
|
5397
5401
|
|
|
5398
5402
|
#define _mm_fixupimm_sd(A, B, C, imm) \
|
|
5399
|
-
(__m128d)__builtin_ia32_fixupimmsd_mask((__v2df)(__m128d)(A), \
|
|
5400
|
-
(__v2df)(__m128d)(B), \
|
|
5401
|
-
(__v2di)(__m128i)(C), (int)(imm), \
|
|
5402
|
-
(__mmask8)-1, \
|
|
5403
|
-
_MM_FROUND_CUR_DIRECTION)
|
|
5404
|
-
|
|
5405
|
-
#define _mm_mask_fixupimm_sd(A, U, B, C, imm) \
|
|
5406
|
-
(__m128d)__builtin_ia32_fixupimmsd_mask((__v2df)(__m128d)(A), \
|
|
5407
|
-
(__v2df)(__m128d)(B), \
|
|
5408
|
-
(__v2di)(__m128i)(C), (int)(imm), \
|
|
5409
|
-
(__mmask8)(U), \
|
|
5410
|
-
_MM_FROUND_CUR_DIRECTION)
|
|
5411
|
-
|
|
5412
|
-
#define _mm_maskz_fixupimm_round_sd(U, A, B, C, imm, R) \
|
|
5413
|
-
(__m128d)__builtin_ia32_fixupimmsd_maskz((__v2df)(__m128d)(A), \
|
|
5403
|
+
((__m128d)__builtin_ia32_fixupimmsd_mask((__v2df)(__m128d)(A), \
|
|
5414
5404
|
(__v2df)(__m128d)(B), \
|
|
5415
5405
|
(__v2di)(__m128i)(C), (int)(imm), \
|
|
5416
|
-
(__mmask8)
|
|
5406
|
+
(__mmask8)-1, \
|
|
5407
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
5417
5408
|
|
|
5418
|
-
#define
|
|
5419
|
-
(__m128d)
|
|
5409
|
+
#define _mm_mask_fixupimm_sd(A, U, B, C, imm) \
|
|
5410
|
+
((__m128d)__builtin_ia32_fixupimmsd_mask((__v2df)(__m128d)(A), \
|
|
5420
5411
|
(__v2df)(__m128d)(B), \
|
|
5421
5412
|
(__v2di)(__m128i)(C), (int)(imm), \
|
|
5422
5413
|
(__mmask8)(U), \
|
|
5423
|
-
_MM_FROUND_CUR_DIRECTION)
|
|
5414
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
5415
|
+
|
|
5416
|
+
#define _mm_maskz_fixupimm_round_sd(U, A, B, C, imm, R) \
|
|
5417
|
+
((__m128d)__builtin_ia32_fixupimmsd_maskz((__v2df)(__m128d)(A), \
|
|
5418
|
+
(__v2df)(__m128d)(B), \
|
|
5419
|
+
(__v2di)(__m128i)(C), (int)(imm), \
|
|
5420
|
+
(__mmask8)(U), (int)(R)))
|
|
5421
|
+
|
|
5422
|
+
#define _mm_maskz_fixupimm_sd(U, A, B, C, imm) \
|
|
5423
|
+
((__m128d)__builtin_ia32_fixupimmsd_maskz((__v2df)(__m128d)(A), \
|
|
5424
|
+
(__v2df)(__m128d)(B), \
|
|
5425
|
+
(__v2di)(__m128i)(C), (int)(imm), \
|
|
5426
|
+
(__mmask8)(U), \
|
|
5427
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
5424
5428
|
|
|
5425
5429
|
#define _mm_fixupimm_round_ss(A, B, C, imm, R) \
|
|
5426
|
-
(__m128)__builtin_ia32_fixupimmss_mask((__v4sf)(__m128)(A), \
|
|
5427
|
-
|
|
5428
|
-
|
|
5429
|
-
|
|
5430
|
+
((__m128)__builtin_ia32_fixupimmss_mask((__v4sf)(__m128)(A), \
|
|
5431
|
+
(__v4sf)(__m128)(B), \
|
|
5432
|
+
(__v4si)(__m128i)(C), (int)(imm), \
|
|
5433
|
+
(__mmask8)-1, (int)(R)))
|
|
5430
5434
|
|
|
5431
5435
|
#define _mm_mask_fixupimm_round_ss(A, U, B, C, imm, R) \
|
|
5432
|
-
(__m128)__builtin_ia32_fixupimmss_mask((__v4sf)(__m128)(A), \
|
|
5433
|
-
|
|
5434
|
-
|
|
5435
|
-
|
|
5436
|
+
((__m128)__builtin_ia32_fixupimmss_mask((__v4sf)(__m128)(A), \
|
|
5437
|
+
(__v4sf)(__m128)(B), \
|
|
5438
|
+
(__v4si)(__m128i)(C), (int)(imm), \
|
|
5439
|
+
(__mmask8)(U), (int)(R)))
|
|
5436
5440
|
|
|
5437
5441
|
#define _mm_fixupimm_ss(A, B, C, imm) \
|
|
5438
|
-
(__m128)__builtin_ia32_fixupimmss_mask((__v4sf)(__m128)(A), \
|
|
5439
|
-
(__v4sf)(__m128)(B), \
|
|
5440
|
-
(__v4si)(__m128i)(C), (int)(imm), \
|
|
5441
|
-
(__mmask8)-1, \
|
|
5442
|
-
_MM_FROUND_CUR_DIRECTION)
|
|
5443
|
-
|
|
5444
|
-
#define _mm_mask_fixupimm_ss(A, U, B, C, imm) \
|
|
5445
|
-
(__m128)__builtin_ia32_fixupimmss_mask((__v4sf)(__m128)(A), \
|
|
5446
|
-
(__v4sf)(__m128)(B), \
|
|
5447
|
-
(__v4si)(__m128i)(C), (int)(imm), \
|
|
5448
|
-
(__mmask8)(U), \
|
|
5449
|
-
_MM_FROUND_CUR_DIRECTION)
|
|
5450
|
-
|
|
5451
|
-
#define _mm_maskz_fixupimm_round_ss(U, A, B, C, imm, R) \
|
|
5452
|
-
(__m128)__builtin_ia32_fixupimmss_maskz((__v4sf)(__m128)(A), \
|
|
5442
|
+
((__m128)__builtin_ia32_fixupimmss_mask((__v4sf)(__m128)(A), \
|
|
5453
5443
|
(__v4sf)(__m128)(B), \
|
|
5454
5444
|
(__v4si)(__m128i)(C), (int)(imm), \
|
|
5455
|
-
(__mmask8)
|
|
5445
|
+
(__mmask8)-1, \
|
|
5446
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
5456
5447
|
|
|
5457
|
-
#define
|
|
5458
|
-
(__m128)
|
|
5448
|
+
#define _mm_mask_fixupimm_ss(A, U, B, C, imm) \
|
|
5449
|
+
((__m128)__builtin_ia32_fixupimmss_mask((__v4sf)(__m128)(A), \
|
|
5459
5450
|
(__v4sf)(__m128)(B), \
|
|
5460
5451
|
(__v4si)(__m128i)(C), (int)(imm), \
|
|
5461
5452
|
(__mmask8)(U), \
|
|
5462
|
-
_MM_FROUND_CUR_DIRECTION)
|
|
5453
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
5454
|
+
|
|
5455
|
+
#define _mm_maskz_fixupimm_round_ss(U, A, B, C, imm, R) \
|
|
5456
|
+
((__m128)__builtin_ia32_fixupimmss_maskz((__v4sf)(__m128)(A), \
|
|
5457
|
+
(__v4sf)(__m128)(B), \
|
|
5458
|
+
(__v4si)(__m128i)(C), (int)(imm), \
|
|
5459
|
+
(__mmask8)(U), (int)(R)))
|
|
5460
|
+
|
|
5461
|
+
#define _mm_maskz_fixupimm_ss(U, A, B, C, imm) \
|
|
5462
|
+
((__m128)__builtin_ia32_fixupimmss_maskz((__v4sf)(__m128)(A), \
|
|
5463
|
+
(__v4sf)(__m128)(B), \
|
|
5464
|
+
(__v4si)(__m128i)(C), (int)(imm), \
|
|
5465
|
+
(__mmask8)(U), \
|
|
5466
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
5463
5467
|
|
|
5464
5468
|
#define _mm_getexp_round_sd(A, B, R) \
|
|
5465
|
-
(__m128d)__builtin_ia32_getexpsd128_round_mask((__v2df)(__m128d)(A), \
|
|
5466
|
-
|
|
5467
|
-
|
|
5468
|
-
|
|
5469
|
+
((__m128d)__builtin_ia32_getexpsd128_round_mask((__v2df)(__m128d)(A), \
|
|
5470
|
+
(__v2df)(__m128d)(B), \
|
|
5471
|
+
(__v2df)_mm_setzero_pd(), \
|
|
5472
|
+
(__mmask8)-1, (int)(R)))
|
|
5469
5473
|
|
|
5470
5474
|
|
|
5471
5475
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
@@ -5486,10 +5490,10 @@ _mm_mask_getexp_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
|
|
|
5486
5490
|
}
|
|
5487
5491
|
|
|
5488
5492
|
#define _mm_mask_getexp_round_sd(W, U, A, B, R) \
|
|
5489
|
-
(__m128d)__builtin_ia32_getexpsd128_round_mask((__v2df)(__m128d)(A), \
|
|
5490
|
-
|
|
5491
|
-
|
|
5492
|
-
|
|
5493
|
+
((__m128d)__builtin_ia32_getexpsd128_round_mask((__v2df)(__m128d)(A), \
|
|
5494
|
+
(__v2df)(__m128d)(B), \
|
|
5495
|
+
(__v2df)(__m128d)(W), \
|
|
5496
|
+
(__mmask8)(U), (int)(R)))
|
|
5493
5497
|
|
|
5494
5498
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
5495
5499
|
_mm_maskz_getexp_sd (__mmask8 __U, __m128d __A, __m128d __B)
|
|
@@ -5502,16 +5506,16 @@ _mm_maskz_getexp_sd (__mmask8 __U, __m128d __A, __m128d __B)
|
|
|
5502
5506
|
}
|
|
5503
5507
|
|
|
5504
5508
|
#define _mm_maskz_getexp_round_sd(U, A, B, R) \
|
|
5505
|
-
(__m128d)__builtin_ia32_getexpsd128_round_mask((__v2df)(__m128d)(A), \
|
|
5506
|
-
|
|
5507
|
-
|
|
5508
|
-
|
|
5509
|
+
((__m128d)__builtin_ia32_getexpsd128_round_mask((__v2df)(__m128d)(A), \
|
|
5510
|
+
(__v2df)(__m128d)(B), \
|
|
5511
|
+
(__v2df)_mm_setzero_pd(), \
|
|
5512
|
+
(__mmask8)(U), (int)(R)))
|
|
5509
5513
|
|
|
5510
5514
|
#define _mm_getexp_round_ss(A, B, R) \
|
|
5511
|
-
(__m128)__builtin_ia32_getexpss128_round_mask((__v4sf)(__m128)(A), \
|
|
5512
|
-
|
|
5513
|
-
|
|
5514
|
-
|
|
5515
|
+
((__m128)__builtin_ia32_getexpss128_round_mask((__v4sf)(__m128)(A), \
|
|
5516
|
+
(__v4sf)(__m128)(B), \
|
|
5517
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
5518
|
+
(__mmask8)-1, (int)(R)))
|
|
5515
5519
|
|
|
5516
5520
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
5517
5521
|
_mm_getexp_ss (__m128 __A, __m128 __B)
|
|
@@ -5531,10 +5535,10 @@ _mm_mask_getexp_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
|
|
|
5531
5535
|
}
|
|
5532
5536
|
|
|
5533
5537
|
#define _mm_mask_getexp_round_ss(W, U, A, B, R) \
|
|
5534
|
-
(__m128)__builtin_ia32_getexpss128_round_mask((__v4sf)(__m128)(A), \
|
|
5535
|
-
|
|
5536
|
-
|
|
5537
|
-
|
|
5538
|
+
((__m128)__builtin_ia32_getexpss128_round_mask((__v4sf)(__m128)(A), \
|
|
5539
|
+
(__v4sf)(__m128)(B), \
|
|
5540
|
+
(__v4sf)(__m128)(W), \
|
|
5541
|
+
(__mmask8)(U), (int)(R)))
|
|
5538
5542
|
|
|
5539
5543
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
5540
5544
|
_mm_maskz_getexp_ss (__mmask8 __U, __m128 __A, __m128 __B)
|
|
@@ -5547,100 +5551,100 @@ _mm_maskz_getexp_ss (__mmask8 __U, __m128 __A, __m128 __B)
|
|
|
5547
5551
|
}
|
|
5548
5552
|
|
|
5549
5553
|
#define _mm_maskz_getexp_round_ss(U, A, B, R) \
|
|
5550
|
-
(__m128)__builtin_ia32_getexpss128_round_mask((__v4sf)(__m128)(A), \
|
|
5551
|
-
|
|
5552
|
-
|
|
5553
|
-
|
|
5554
|
+
((__m128)__builtin_ia32_getexpss128_round_mask((__v4sf)(__m128)(A), \
|
|
5555
|
+
(__v4sf)(__m128)(B), \
|
|
5556
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
5557
|
+
(__mmask8)(U), (int)(R)))
|
|
5554
5558
|
|
|
5555
5559
|
#define _mm_getmant_round_sd(A, B, C, D, R) \
|
|
5556
|
-
(__m128d)__builtin_ia32_getmantsd_round_mask((__v2df)(__m128d)(A), \
|
|
5557
|
-
|
|
5558
|
-
|
|
5559
|
-
|
|
5560
|
-
|
|
5560
|
+
((__m128d)__builtin_ia32_getmantsd_round_mask((__v2df)(__m128d)(A), \
|
|
5561
|
+
(__v2df)(__m128d)(B), \
|
|
5562
|
+
(int)(((D)<<2) | (C)), \
|
|
5563
|
+
(__v2df)_mm_setzero_pd(), \
|
|
5564
|
+
(__mmask8)-1, (int)(R)))
|
|
5561
5565
|
|
|
5562
5566
|
#define _mm_getmant_sd(A, B, C, D) \
|
|
5563
|
-
(__m128d)__builtin_ia32_getmantsd_round_mask((__v2df)(__m128d)(A), \
|
|
5564
|
-
|
|
5565
|
-
|
|
5566
|
-
|
|
5567
|
-
|
|
5568
|
-
|
|
5567
|
+
((__m128d)__builtin_ia32_getmantsd_round_mask((__v2df)(__m128d)(A), \
|
|
5568
|
+
(__v2df)(__m128d)(B), \
|
|
5569
|
+
(int)(((D)<<2) | (C)), \
|
|
5570
|
+
(__v2df)_mm_setzero_pd(), \
|
|
5571
|
+
(__mmask8)-1, \
|
|
5572
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
5569
5573
|
|
|
5570
5574
|
#define _mm_mask_getmant_sd(W, U, A, B, C, D) \
|
|
5571
|
-
(__m128d)__builtin_ia32_getmantsd_round_mask((__v2df)(__m128d)(A), \
|
|
5572
|
-
|
|
5573
|
-
|
|
5574
|
-
|
|
5575
|
-
|
|
5576
|
-
|
|
5575
|
+
((__m128d)__builtin_ia32_getmantsd_round_mask((__v2df)(__m128d)(A), \
|
|
5576
|
+
(__v2df)(__m128d)(B), \
|
|
5577
|
+
(int)(((D)<<2) | (C)), \
|
|
5578
|
+
(__v2df)(__m128d)(W), \
|
|
5579
|
+
(__mmask8)(U), \
|
|
5580
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
5577
5581
|
|
|
5578
5582
|
#define _mm_mask_getmant_round_sd(W, U, A, B, C, D, R) \
|
|
5579
|
-
(__m128d)__builtin_ia32_getmantsd_round_mask((__v2df)(__m128d)(A), \
|
|
5580
|
-
|
|
5581
|
-
|
|
5582
|
-
|
|
5583
|
-
|
|
5583
|
+
((__m128d)__builtin_ia32_getmantsd_round_mask((__v2df)(__m128d)(A), \
|
|
5584
|
+
(__v2df)(__m128d)(B), \
|
|
5585
|
+
(int)(((D)<<2) | (C)), \
|
|
5586
|
+
(__v2df)(__m128d)(W), \
|
|
5587
|
+
(__mmask8)(U), (int)(R)))
|
|
5584
5588
|
|
|
5585
5589
|
#define _mm_maskz_getmant_sd(U, A, B, C, D) \
|
|
5586
|
-
(__m128d)__builtin_ia32_getmantsd_round_mask((__v2df)(__m128d)(A), \
|
|
5587
|
-
|
|
5588
|
-
|
|
5589
|
-
|
|
5590
|
-
|
|
5591
|
-
|
|
5590
|
+
((__m128d)__builtin_ia32_getmantsd_round_mask((__v2df)(__m128d)(A), \
|
|
5591
|
+
(__v2df)(__m128d)(B), \
|
|
5592
|
+
(int)(((D)<<2) | (C)), \
|
|
5593
|
+
(__v2df)_mm_setzero_pd(), \
|
|
5594
|
+
(__mmask8)(U), \
|
|
5595
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
5592
5596
|
|
|
5593
5597
|
#define _mm_maskz_getmant_round_sd(U, A, B, C, D, R) \
|
|
5594
|
-
(__m128d)__builtin_ia32_getmantsd_round_mask((__v2df)(__m128d)(A), \
|
|
5595
|
-
|
|
5596
|
-
|
|
5597
|
-
|
|
5598
|
-
|
|
5598
|
+
((__m128d)__builtin_ia32_getmantsd_round_mask((__v2df)(__m128d)(A), \
|
|
5599
|
+
(__v2df)(__m128d)(B), \
|
|
5600
|
+
(int)(((D)<<2) | (C)), \
|
|
5601
|
+
(__v2df)_mm_setzero_pd(), \
|
|
5602
|
+
(__mmask8)(U), (int)(R)))
|
|
5599
5603
|
|
|
5600
5604
|
#define _mm_getmant_round_ss(A, B, C, D, R) \
|
|
5601
|
-
(__m128)__builtin_ia32_getmantss_round_mask((__v4sf)(__m128)(A), \
|
|
5602
|
-
|
|
5603
|
-
|
|
5604
|
-
|
|
5605
|
-
|
|
5605
|
+
((__m128)__builtin_ia32_getmantss_round_mask((__v4sf)(__m128)(A), \
|
|
5606
|
+
(__v4sf)(__m128)(B), \
|
|
5607
|
+
(int)(((D)<<2) | (C)), \
|
|
5608
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
5609
|
+
(__mmask8)-1, (int)(R)))
|
|
5606
5610
|
|
|
5607
5611
|
#define _mm_getmant_ss(A, B, C, D) \
|
|
5608
|
-
(__m128)__builtin_ia32_getmantss_round_mask((__v4sf)(__m128)(A), \
|
|
5609
|
-
|
|
5610
|
-
|
|
5611
|
-
|
|
5612
|
-
|
|
5613
|
-
|
|
5612
|
+
((__m128)__builtin_ia32_getmantss_round_mask((__v4sf)(__m128)(A), \
|
|
5613
|
+
(__v4sf)(__m128)(B), \
|
|
5614
|
+
(int)(((D)<<2) | (C)), \
|
|
5615
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
5616
|
+
(__mmask8)-1, \
|
|
5617
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
5614
5618
|
|
|
5615
5619
|
#define _mm_mask_getmant_ss(W, U, A, B, C, D) \
|
|
5616
|
-
(__m128)__builtin_ia32_getmantss_round_mask((__v4sf)(__m128)(A), \
|
|
5617
|
-
|
|
5618
|
-
|
|
5619
|
-
|
|
5620
|
-
|
|
5621
|
-
|
|
5620
|
+
((__m128)__builtin_ia32_getmantss_round_mask((__v4sf)(__m128)(A), \
|
|
5621
|
+
(__v4sf)(__m128)(B), \
|
|
5622
|
+
(int)(((D)<<2) | (C)), \
|
|
5623
|
+
(__v4sf)(__m128)(W), \
|
|
5624
|
+
(__mmask8)(U), \
|
|
5625
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
5622
5626
|
|
|
5623
5627
|
#define _mm_mask_getmant_round_ss(W, U, A, B, C, D, R) \
|
|
5624
|
-
(__m128)__builtin_ia32_getmantss_round_mask((__v4sf)(__m128)(A), \
|
|
5625
|
-
|
|
5626
|
-
|
|
5627
|
-
|
|
5628
|
-
|
|
5628
|
+
((__m128)__builtin_ia32_getmantss_round_mask((__v4sf)(__m128)(A), \
|
|
5629
|
+
(__v4sf)(__m128)(B), \
|
|
5630
|
+
(int)(((D)<<2) | (C)), \
|
|
5631
|
+
(__v4sf)(__m128)(W), \
|
|
5632
|
+
(__mmask8)(U), (int)(R)))
|
|
5629
5633
|
|
|
5630
5634
|
#define _mm_maskz_getmant_ss(U, A, B, C, D) \
|
|
5631
|
-
(__m128)__builtin_ia32_getmantss_round_mask((__v4sf)(__m128)(A), \
|
|
5632
|
-
|
|
5633
|
-
|
|
5634
|
-
|
|
5635
|
-
|
|
5636
|
-
|
|
5635
|
+
((__m128)__builtin_ia32_getmantss_round_mask((__v4sf)(__m128)(A), \
|
|
5636
|
+
(__v4sf)(__m128)(B), \
|
|
5637
|
+
(int)(((D)<<2) | (C)), \
|
|
5638
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
5639
|
+
(__mmask8)(U), \
|
|
5640
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
5637
5641
|
|
|
5638
5642
|
#define _mm_maskz_getmant_round_ss(U, A, B, C, D, R) \
|
|
5639
|
-
(__m128)__builtin_ia32_getmantss_round_mask((__v4sf)(__m128)(A), \
|
|
5640
|
-
|
|
5641
|
-
|
|
5642
|
-
|
|
5643
|
-
|
|
5643
|
+
((__m128)__builtin_ia32_getmantss_round_mask((__v4sf)(__m128)(A), \
|
|
5644
|
+
(__v4sf)(__m128)(B), \
|
|
5645
|
+
(int)(((D)<<2) | (C)), \
|
|
5646
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
5647
|
+
(__mmask8)(U), (int)(R)))
|
|
5644
5648
|
|
|
5645
5649
|
static __inline__ __mmask16 __DEFAULT_FN_ATTRS
|
|
5646
5650
|
_mm512_kmov (__mmask16 __A)
|
|
@@ -5649,16 +5653,16 @@ _mm512_kmov (__mmask16 __A)
|
|
|
5649
5653
|
}
|
|
5650
5654
|
|
|
5651
5655
|
#define _mm_comi_round_sd(A, B, P, R) \
|
|
5652
|
-
(int)__builtin_ia32_vcomisd((__v2df)(__m128d)(A), (__v2df)(__m128d)(B), \
|
|
5653
|
-
|
|
5656
|
+
((int)__builtin_ia32_vcomisd((__v2df)(__m128d)(A), (__v2df)(__m128d)(B), \
|
|
5657
|
+
(int)(P), (int)(R)))
|
|
5654
5658
|
|
|
5655
5659
|
#define _mm_comi_round_ss(A, B, P, R) \
|
|
5656
|
-
(int)__builtin_ia32_vcomiss((__v4sf)(__m128)(A), (__v4sf)(__m128)(B), \
|
|
5657
|
-
|
|
5660
|
+
((int)__builtin_ia32_vcomiss((__v4sf)(__m128)(A), (__v4sf)(__m128)(B), \
|
|
5661
|
+
(int)(P), (int)(R)))
|
|
5658
5662
|
|
|
5659
5663
|
#ifdef __x86_64__
|
|
5660
5664
|
#define _mm_cvt_roundsd_si64(A, R) \
|
|
5661
|
-
(long long)__builtin_ia32_vcvtsd2si64((__v2df)(__m128d)(A), (int)(R))
|
|
5665
|
+
((long long)__builtin_ia32_vcvtsd2si64((__v2df)(__m128d)(A), (int)(R)))
|
|
5662
5666
|
#endif
|
|
5663
5667
|
|
|
5664
5668
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -5926,54 +5930,54 @@ _mm512_maskz_srlv_epi64(__mmask8 __U, __m512i __X, __m512i __Y)
|
|
|
5926
5930
|
}
|
|
5927
5931
|
|
|
5928
5932
|
#define _mm512_ternarylogic_epi32(A, B, C, imm) \
|
|
5929
|
-
(__m512i)__builtin_ia32_pternlogd512_mask((__v16si)(__m512i)(A), \
|
|
5930
|
-
|
|
5931
|
-
|
|
5932
|
-
|
|
5933
|
+
((__m512i)__builtin_ia32_pternlogd512_mask((__v16si)(__m512i)(A), \
|
|
5934
|
+
(__v16si)(__m512i)(B), \
|
|
5935
|
+
(__v16si)(__m512i)(C), (int)(imm), \
|
|
5936
|
+
(__mmask16)-1))
|
|
5933
5937
|
|
|
5934
5938
|
#define _mm512_mask_ternarylogic_epi32(A, U, B, C, imm) \
|
|
5935
|
-
(__m512i)__builtin_ia32_pternlogd512_mask((__v16si)(__m512i)(A), \
|
|
5936
|
-
|
|
5937
|
-
|
|
5938
|
-
|
|
5939
|
+
((__m512i)__builtin_ia32_pternlogd512_mask((__v16si)(__m512i)(A), \
|
|
5940
|
+
(__v16si)(__m512i)(B), \
|
|
5941
|
+
(__v16si)(__m512i)(C), (int)(imm), \
|
|
5942
|
+
(__mmask16)(U)))
|
|
5939
5943
|
|
|
5940
5944
|
#define _mm512_maskz_ternarylogic_epi32(U, A, B, C, imm) \
|
|
5941
|
-
(__m512i)__builtin_ia32_pternlogd512_maskz((__v16si)(__m512i)(A), \
|
|
5942
|
-
|
|
5943
|
-
|
|
5944
|
-
|
|
5945
|
+
((__m512i)__builtin_ia32_pternlogd512_maskz((__v16si)(__m512i)(A), \
|
|
5946
|
+
(__v16si)(__m512i)(B), \
|
|
5947
|
+
(__v16si)(__m512i)(C), \
|
|
5948
|
+
(int)(imm), (__mmask16)(U)))
|
|
5945
5949
|
|
|
5946
5950
|
#define _mm512_ternarylogic_epi64(A, B, C, imm) \
|
|
5947
|
-
(__m512i)__builtin_ia32_pternlogq512_mask((__v8di)(__m512i)(A), \
|
|
5948
|
-
|
|
5949
|
-
|
|
5950
|
-
|
|
5951
|
+
((__m512i)__builtin_ia32_pternlogq512_mask((__v8di)(__m512i)(A), \
|
|
5952
|
+
(__v8di)(__m512i)(B), \
|
|
5953
|
+
(__v8di)(__m512i)(C), (int)(imm), \
|
|
5954
|
+
(__mmask8)-1))
|
|
5951
5955
|
|
|
5952
5956
|
#define _mm512_mask_ternarylogic_epi64(A, U, B, C, imm) \
|
|
5953
|
-
(__m512i)__builtin_ia32_pternlogq512_mask((__v8di)(__m512i)(A), \
|
|
5954
|
-
(__v8di)(__m512i)(B), \
|
|
5955
|
-
(__v8di)(__m512i)(C), (int)(imm), \
|
|
5956
|
-
(__mmask8)(U))
|
|
5957
|
-
|
|
5958
|
-
#define _mm512_maskz_ternarylogic_epi64(U, A, B, C, imm) \
|
|
5959
|
-
(__m512i)__builtin_ia32_pternlogq512_maskz((__v8di)(__m512i)(A), \
|
|
5957
|
+
((__m512i)__builtin_ia32_pternlogq512_mask((__v8di)(__m512i)(A), \
|
|
5960
5958
|
(__v8di)(__m512i)(B), \
|
|
5961
5959
|
(__v8di)(__m512i)(C), (int)(imm), \
|
|
5962
|
-
(__mmask8)(U))
|
|
5960
|
+
(__mmask8)(U)))
|
|
5961
|
+
|
|
5962
|
+
#define _mm512_maskz_ternarylogic_epi64(U, A, B, C, imm) \
|
|
5963
|
+
((__m512i)__builtin_ia32_pternlogq512_maskz((__v8di)(__m512i)(A), \
|
|
5964
|
+
(__v8di)(__m512i)(B), \
|
|
5965
|
+
(__v8di)(__m512i)(C), (int)(imm), \
|
|
5966
|
+
(__mmask8)(U)))
|
|
5963
5967
|
|
|
5964
5968
|
#ifdef __x86_64__
|
|
5965
5969
|
#define _mm_cvt_roundsd_i64(A, R) \
|
|
5966
|
-
(long long)__builtin_ia32_vcvtsd2si64((__v2df)(__m128d)(A), (int)(R))
|
|
5970
|
+
((long long)__builtin_ia32_vcvtsd2si64((__v2df)(__m128d)(A), (int)(R)))
|
|
5967
5971
|
#endif
|
|
5968
5972
|
|
|
5969
5973
|
#define _mm_cvt_roundsd_si32(A, R) \
|
|
5970
|
-
(int)__builtin_ia32_vcvtsd2si32((__v2df)(__m128d)(A), (int)(R))
|
|
5974
|
+
((int)__builtin_ia32_vcvtsd2si32((__v2df)(__m128d)(A), (int)(R)))
|
|
5971
5975
|
|
|
5972
5976
|
#define _mm_cvt_roundsd_i32(A, R) \
|
|
5973
|
-
(int)__builtin_ia32_vcvtsd2si32((__v2df)(__m128d)(A), (int)(R))
|
|
5977
|
+
((int)__builtin_ia32_vcvtsd2si32((__v2df)(__m128d)(A), (int)(R)))
|
|
5974
5978
|
|
|
5975
5979
|
#define _mm_cvt_roundsd_u32(A, R) \
|
|
5976
|
-
(unsigned int)__builtin_ia32_vcvtsd2usi32((__v2df)(__m128d)(A), (int)(R))
|
|
5980
|
+
((unsigned int)__builtin_ia32_vcvtsd2usi32((__v2df)(__m128d)(A), (int)(R)))
|
|
5977
5981
|
|
|
5978
5982
|
static __inline__ unsigned __DEFAULT_FN_ATTRS128
|
|
5979
5983
|
_mm_cvtsd_u32 (__m128d __A)
|
|
@@ -5984,8 +5988,8 @@ _mm_cvtsd_u32 (__m128d __A)
|
|
|
5984
5988
|
|
|
5985
5989
|
#ifdef __x86_64__
|
|
5986
5990
|
#define _mm_cvt_roundsd_u64(A, R) \
|
|
5987
|
-
(unsigned long long)__builtin_ia32_vcvtsd2usi64((__v2df)(__m128d)(A), \
|
|
5988
|
-
|
|
5991
|
+
((unsigned long long)__builtin_ia32_vcvtsd2usi64((__v2df)(__m128d)(A), \
|
|
5992
|
+
(int)(R)))
|
|
5989
5993
|
|
|
5990
5994
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS128
|
|
5991
5995
|
_mm_cvtsd_u64 (__m128d __A)
|
|
@@ -5997,21 +6001,21 @@ _mm_cvtsd_u64 (__m128d __A)
|
|
|
5997
6001
|
#endif
|
|
5998
6002
|
|
|
5999
6003
|
#define _mm_cvt_roundss_si32(A, R) \
|
|
6000
|
-
(int)__builtin_ia32_vcvtss2si32((__v4sf)(__m128)(A), (int)(R))
|
|
6004
|
+
((int)__builtin_ia32_vcvtss2si32((__v4sf)(__m128)(A), (int)(R)))
|
|
6001
6005
|
|
|
6002
6006
|
#define _mm_cvt_roundss_i32(A, R) \
|
|
6003
|
-
(int)__builtin_ia32_vcvtss2si32((__v4sf)(__m128)(A), (int)(R))
|
|
6007
|
+
((int)__builtin_ia32_vcvtss2si32((__v4sf)(__m128)(A), (int)(R)))
|
|
6004
6008
|
|
|
6005
6009
|
#ifdef __x86_64__
|
|
6006
6010
|
#define _mm_cvt_roundss_si64(A, R) \
|
|
6007
|
-
(long long)__builtin_ia32_vcvtss2si64((__v4sf)(__m128)(A), (int)(R))
|
|
6011
|
+
((long long)__builtin_ia32_vcvtss2si64((__v4sf)(__m128)(A), (int)(R)))
|
|
6008
6012
|
|
|
6009
6013
|
#define _mm_cvt_roundss_i64(A, R) \
|
|
6010
|
-
(long long)__builtin_ia32_vcvtss2si64((__v4sf)(__m128)(A), (int)(R))
|
|
6014
|
+
((long long)__builtin_ia32_vcvtss2si64((__v4sf)(__m128)(A), (int)(R)))
|
|
6011
6015
|
#endif
|
|
6012
6016
|
|
|
6013
6017
|
#define _mm_cvt_roundss_u32(A, R) \
|
|
6014
|
-
(unsigned int)__builtin_ia32_vcvtss2usi32((__v4sf)(__m128)(A), (int)(R))
|
|
6018
|
+
((unsigned int)__builtin_ia32_vcvtss2usi32((__v4sf)(__m128)(A), (int)(R)))
|
|
6015
6019
|
|
|
6016
6020
|
static __inline__ unsigned __DEFAULT_FN_ATTRS128
|
|
6017
6021
|
_mm_cvtss_u32 (__m128 __A)
|
|
@@ -6022,8 +6026,8 @@ _mm_cvtss_u32 (__m128 __A)
|
|
|
6022
6026
|
|
|
6023
6027
|
#ifdef __x86_64__
|
|
6024
6028
|
#define _mm_cvt_roundss_u64(A, R) \
|
|
6025
|
-
(unsigned long long)__builtin_ia32_vcvtss2usi64((__v4sf)(__m128)(A), \
|
|
6026
|
-
|
|
6029
|
+
((unsigned long long)__builtin_ia32_vcvtss2usi64((__v4sf)(__m128)(A), \
|
|
6030
|
+
(int)(R)))
|
|
6027
6031
|
|
|
6028
6032
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS128
|
|
6029
6033
|
_mm_cvtss_u64 (__m128 __A)
|
|
@@ -6035,10 +6039,10 @@ _mm_cvtss_u64 (__m128 __A)
|
|
|
6035
6039
|
#endif
|
|
6036
6040
|
|
|
6037
6041
|
#define _mm_cvtt_roundsd_i32(A, R) \
|
|
6038
|
-
(int)__builtin_ia32_vcvttsd2si32((__v2df)(__m128d)(A), (int)(R))
|
|
6042
|
+
((int)__builtin_ia32_vcvttsd2si32((__v2df)(__m128d)(A), (int)(R)))
|
|
6039
6043
|
|
|
6040
6044
|
#define _mm_cvtt_roundsd_si32(A, R) \
|
|
6041
|
-
(int)__builtin_ia32_vcvttsd2si32((__v2df)(__m128d)(A), (int)(R))
|
|
6045
|
+
((int)__builtin_ia32_vcvttsd2si32((__v2df)(__m128d)(A), (int)(R)))
|
|
6042
6046
|
|
|
6043
6047
|
static __inline__ int __DEFAULT_FN_ATTRS128
|
|
6044
6048
|
_mm_cvttsd_i32 (__m128d __A)
|
|
@@ -6049,10 +6053,10 @@ _mm_cvttsd_i32 (__m128d __A)
|
|
|
6049
6053
|
|
|
6050
6054
|
#ifdef __x86_64__
|
|
6051
6055
|
#define _mm_cvtt_roundsd_si64(A, R) \
|
|
6052
|
-
(long long)__builtin_ia32_vcvttsd2si64((__v2df)(__m128d)(A), (int)(R))
|
|
6056
|
+
((long long)__builtin_ia32_vcvttsd2si64((__v2df)(__m128d)(A), (int)(R)))
|
|
6053
6057
|
|
|
6054
6058
|
#define _mm_cvtt_roundsd_i64(A, R) \
|
|
6055
|
-
(long long)__builtin_ia32_vcvttsd2si64((__v2df)(__m128d)(A), (int)(R))
|
|
6059
|
+
((long long)__builtin_ia32_vcvttsd2si64((__v2df)(__m128d)(A), (int)(R)))
|
|
6056
6060
|
|
|
6057
6061
|
static __inline__ long long __DEFAULT_FN_ATTRS128
|
|
6058
6062
|
_mm_cvttsd_i64 (__m128d __A)
|
|
@@ -6063,7 +6067,7 @@ _mm_cvttsd_i64 (__m128d __A)
|
|
|
6063
6067
|
#endif
|
|
6064
6068
|
|
|
6065
6069
|
#define _mm_cvtt_roundsd_u32(A, R) \
|
|
6066
|
-
(unsigned int)__builtin_ia32_vcvttsd2usi32((__v2df)(__m128d)(A), (int)(R))
|
|
6070
|
+
((unsigned int)__builtin_ia32_vcvttsd2usi32((__v2df)(__m128d)(A), (int)(R)))
|
|
6067
6071
|
|
|
6068
6072
|
static __inline__ unsigned __DEFAULT_FN_ATTRS128
|
|
6069
6073
|
_mm_cvttsd_u32 (__m128d __A)
|
|
@@ -6074,8 +6078,8 @@ _mm_cvttsd_u32 (__m128d __A)
|
|
|
6074
6078
|
|
|
6075
6079
|
#ifdef __x86_64__
|
|
6076
6080
|
#define _mm_cvtt_roundsd_u64(A, R) \
|
|
6077
|
-
(unsigned long long)__builtin_ia32_vcvttsd2usi64((__v2df)(__m128d)(A), \
|
|
6078
|
-
|
|
6081
|
+
((unsigned long long)__builtin_ia32_vcvttsd2usi64((__v2df)(__m128d)(A), \
|
|
6082
|
+
(int)(R)))
|
|
6079
6083
|
|
|
6080
6084
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS128
|
|
6081
6085
|
_mm_cvttsd_u64 (__m128d __A)
|
|
@@ -6087,10 +6091,10 @@ _mm_cvttsd_u64 (__m128d __A)
|
|
|
6087
6091
|
#endif
|
|
6088
6092
|
|
|
6089
6093
|
#define _mm_cvtt_roundss_i32(A, R) \
|
|
6090
|
-
(int)__builtin_ia32_vcvttss2si32((__v4sf)(__m128)(A), (int)(R))
|
|
6094
|
+
((int)__builtin_ia32_vcvttss2si32((__v4sf)(__m128)(A), (int)(R)))
|
|
6091
6095
|
|
|
6092
6096
|
#define _mm_cvtt_roundss_si32(A, R) \
|
|
6093
|
-
(int)__builtin_ia32_vcvttss2si32((__v4sf)(__m128)(A), (int)(R))
|
|
6097
|
+
((int)__builtin_ia32_vcvttss2si32((__v4sf)(__m128)(A), (int)(R)))
|
|
6094
6098
|
|
|
6095
6099
|
static __inline__ int __DEFAULT_FN_ATTRS128
|
|
6096
6100
|
_mm_cvttss_i32 (__m128 __A)
|
|
@@ -6101,10 +6105,10 @@ _mm_cvttss_i32 (__m128 __A)
|
|
|
6101
6105
|
|
|
6102
6106
|
#ifdef __x86_64__
|
|
6103
6107
|
#define _mm_cvtt_roundss_i64(A, R) \
|
|
6104
|
-
(long long)__builtin_ia32_vcvttss2si64((__v4sf)(__m128)(A), (int)(R))
|
|
6108
|
+
((long long)__builtin_ia32_vcvttss2si64((__v4sf)(__m128)(A), (int)(R)))
|
|
6105
6109
|
|
|
6106
6110
|
#define _mm_cvtt_roundss_si64(A, R) \
|
|
6107
|
-
(long long)__builtin_ia32_vcvttss2si64((__v4sf)(__m128)(A), (int)(R))
|
|
6111
|
+
((long long)__builtin_ia32_vcvttss2si64((__v4sf)(__m128)(A), (int)(R)))
|
|
6108
6112
|
|
|
6109
6113
|
static __inline__ long long __DEFAULT_FN_ATTRS128
|
|
6110
6114
|
_mm_cvttss_i64 (__m128 __A)
|
|
@@ -6115,7 +6119,7 @@ _mm_cvttss_i64 (__m128 __A)
|
|
|
6115
6119
|
#endif
|
|
6116
6120
|
|
|
6117
6121
|
#define _mm_cvtt_roundss_u32(A, R) \
|
|
6118
|
-
(unsigned int)__builtin_ia32_vcvttss2usi32((__v4sf)(__m128)(A), (int)(R))
|
|
6122
|
+
((unsigned int)__builtin_ia32_vcvttss2usi32((__v4sf)(__m128)(A), (int)(R)))
|
|
6119
6123
|
|
|
6120
6124
|
static __inline__ unsigned __DEFAULT_FN_ATTRS128
|
|
6121
6125
|
_mm_cvttss_u32 (__m128 __A)
|
|
@@ -6126,8 +6130,8 @@ _mm_cvttss_u32 (__m128 __A)
|
|
|
6126
6130
|
|
|
6127
6131
|
#ifdef __x86_64__
|
|
6128
6132
|
#define _mm_cvtt_roundss_u64(A, R) \
|
|
6129
|
-
(unsigned long long)__builtin_ia32_vcvttss2usi64((__v4sf)(__m128)(A), \
|
|
6130
|
-
|
|
6133
|
+
((unsigned long long)__builtin_ia32_vcvttss2usi64((__v4sf)(__m128)(A), \
|
|
6134
|
+
(int)(R)))
|
|
6131
6135
|
|
|
6132
6136
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS128
|
|
6133
6137
|
_mm_cvttss_u64 (__m128 __A)
|
|
@@ -6139,30 +6143,30 @@ _mm_cvttss_u64 (__m128 __A)
|
|
|
6139
6143
|
#endif
|
|
6140
6144
|
|
|
6141
6145
|
#define _mm512_permute_pd(X, C) \
|
|
6142
|
-
(__m512d)__builtin_ia32_vpermilpd512((__v8df)(__m512d)(X), (int)(C))
|
|
6146
|
+
((__m512d)__builtin_ia32_vpermilpd512((__v8df)(__m512d)(X), (int)(C)))
|
|
6143
6147
|
|
|
6144
6148
|
#define _mm512_mask_permute_pd(W, U, X, C) \
|
|
6145
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
6146
|
-
|
|
6147
|
-
|
|
6149
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
6150
|
+
(__v8df)_mm512_permute_pd((X), (C)), \
|
|
6151
|
+
(__v8df)(__m512d)(W)))
|
|
6148
6152
|
|
|
6149
6153
|
#define _mm512_maskz_permute_pd(U, X, C) \
|
|
6150
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
6151
|
-
|
|
6152
|
-
|
|
6154
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
6155
|
+
(__v8df)_mm512_permute_pd((X), (C)), \
|
|
6156
|
+
(__v8df)_mm512_setzero_pd()))
|
|
6153
6157
|
|
|
6154
6158
|
#define _mm512_permute_ps(X, C) \
|
|
6155
|
-
(__m512)__builtin_ia32_vpermilps512((__v16sf)(__m512)(X), (int)(C))
|
|
6159
|
+
((__m512)__builtin_ia32_vpermilps512((__v16sf)(__m512)(X), (int)(C)))
|
|
6156
6160
|
|
|
6157
6161
|
#define _mm512_mask_permute_ps(W, U, X, C) \
|
|
6158
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
6159
|
-
|
|
6160
|
-
|
|
6162
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
6163
|
+
(__v16sf)_mm512_permute_ps((X), (C)), \
|
|
6164
|
+
(__v16sf)(__m512)(W)))
|
|
6161
6165
|
|
|
6162
6166
|
#define _mm512_maskz_permute_ps(U, X, C) \
|
|
6163
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
6164
|
-
|
|
6165
|
-
|
|
6167
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
6168
|
+
(__v16sf)_mm512_permute_ps((X), (C)), \
|
|
6169
|
+
(__v16sf)_mm512_setzero_ps()))
|
|
6166
6170
|
|
|
6167
6171
|
static __inline__ __m512d __DEFAULT_FN_ATTRS512
|
|
6168
6172
|
_mm512_permutevar_pd(__m512d __A, __m512i __C)
|
|
@@ -6274,19 +6278,19 @@ _mm512_maskz_permutex2var_ps(__mmask16 __U, __m512 __A, __m512i __I, __m512 __B)
|
|
|
6274
6278
|
|
|
6275
6279
|
|
|
6276
6280
|
#define _mm512_cvtt_roundpd_epu32(A, R) \
|
|
6277
|
-
(__m256i)__builtin_ia32_cvttpd2udq512_mask((__v8df)(__m512d)(A), \
|
|
6278
|
-
|
|
6279
|
-
|
|
6281
|
+
((__m256i)__builtin_ia32_cvttpd2udq512_mask((__v8df)(__m512d)(A), \
|
|
6282
|
+
(__v8si)_mm256_undefined_si256(), \
|
|
6283
|
+
(__mmask8)-1, (int)(R)))
|
|
6280
6284
|
|
|
6281
6285
|
#define _mm512_mask_cvtt_roundpd_epu32(W, U, A, R) \
|
|
6282
|
-
(__m256i)__builtin_ia32_cvttpd2udq512_mask((__v8df)(__m512d)(A), \
|
|
6283
|
-
|
|
6284
|
-
|
|
6286
|
+
((__m256i)__builtin_ia32_cvttpd2udq512_mask((__v8df)(__m512d)(A), \
|
|
6287
|
+
(__v8si)(__m256i)(W), \
|
|
6288
|
+
(__mmask8)(U), (int)(R)))
|
|
6285
6289
|
|
|
6286
6290
|
#define _mm512_maskz_cvtt_roundpd_epu32(U, A, R) \
|
|
6287
|
-
(__m256i)__builtin_ia32_cvttpd2udq512_mask((__v8df)(__m512d)(A), \
|
|
6288
|
-
|
|
6289
|
-
|
|
6291
|
+
((__m256i)__builtin_ia32_cvttpd2udq512_mask((__v8df)(__m512d)(A), \
|
|
6292
|
+
(__v8si)_mm256_setzero_si256(), \
|
|
6293
|
+
(__mmask8)(U), (int)(R)))
|
|
6290
6294
|
|
|
6291
6295
|
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
6292
6296
|
_mm512_cvttpd_epu32 (__m512d __A)
|
|
@@ -6318,106 +6322,106 @@ _mm512_maskz_cvttpd_epu32 (__mmask8 __U, __m512d __A)
|
|
|
6318
6322
|
}
|
|
6319
6323
|
|
|
6320
6324
|
#define _mm_roundscale_round_sd(A, B, imm, R) \
|
|
6321
|
-
(__m128d)__builtin_ia32_rndscalesd_round_mask((__v2df)(__m128d)(A), \
|
|
6322
|
-
|
|
6323
|
-
|
|
6324
|
-
|
|
6325
|
-
|
|
6325
|
+
((__m128d)__builtin_ia32_rndscalesd_round_mask((__v2df)(__m128d)(A), \
|
|
6326
|
+
(__v2df)(__m128d)(B), \
|
|
6327
|
+
(__v2df)_mm_setzero_pd(), \
|
|
6328
|
+
(__mmask8)-1, (int)(imm), \
|
|
6329
|
+
(int)(R)))
|
|
6326
6330
|
|
|
6327
6331
|
#define _mm_roundscale_sd(A, B, imm) \
|
|
6328
|
-
(__m128d)__builtin_ia32_rndscalesd_round_mask((__v2df)(__m128d)(A), \
|
|
6329
|
-
|
|
6330
|
-
|
|
6331
|
-
|
|
6332
|
-
|
|
6332
|
+
((__m128d)__builtin_ia32_rndscalesd_round_mask((__v2df)(__m128d)(A), \
|
|
6333
|
+
(__v2df)(__m128d)(B), \
|
|
6334
|
+
(__v2df)_mm_setzero_pd(), \
|
|
6335
|
+
(__mmask8)-1, (int)(imm), \
|
|
6336
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
6333
6337
|
|
|
6334
6338
|
#define _mm_mask_roundscale_sd(W, U, A, B, imm) \
|
|
6335
|
-
(__m128d)__builtin_ia32_rndscalesd_round_mask((__v2df)(__m128d)(A), \
|
|
6336
|
-
|
|
6337
|
-
|
|
6338
|
-
|
|
6339
|
-
|
|
6339
|
+
((__m128d)__builtin_ia32_rndscalesd_round_mask((__v2df)(__m128d)(A), \
|
|
6340
|
+
(__v2df)(__m128d)(B), \
|
|
6341
|
+
(__v2df)(__m128d)(W), \
|
|
6342
|
+
(__mmask8)(U), (int)(imm), \
|
|
6343
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
6340
6344
|
|
|
6341
6345
|
#define _mm_mask_roundscale_round_sd(W, U, A, B, I, R) \
|
|
6342
|
-
(__m128d)__builtin_ia32_rndscalesd_round_mask((__v2df)(__m128d)(A), \
|
|
6343
|
-
|
|
6344
|
-
|
|
6345
|
-
|
|
6346
|
-
|
|
6346
|
+
((__m128d)__builtin_ia32_rndscalesd_round_mask((__v2df)(__m128d)(A), \
|
|
6347
|
+
(__v2df)(__m128d)(B), \
|
|
6348
|
+
(__v2df)(__m128d)(W), \
|
|
6349
|
+
(__mmask8)(U), (int)(I), \
|
|
6350
|
+
(int)(R)))
|
|
6347
6351
|
|
|
6348
6352
|
#define _mm_maskz_roundscale_sd(U, A, B, I) \
|
|
6349
|
-
(__m128d)__builtin_ia32_rndscalesd_round_mask((__v2df)(__m128d)(A), \
|
|
6350
|
-
|
|
6351
|
-
|
|
6352
|
-
|
|
6353
|
-
|
|
6353
|
+
((__m128d)__builtin_ia32_rndscalesd_round_mask((__v2df)(__m128d)(A), \
|
|
6354
|
+
(__v2df)(__m128d)(B), \
|
|
6355
|
+
(__v2df)_mm_setzero_pd(), \
|
|
6356
|
+
(__mmask8)(U), (int)(I), \
|
|
6357
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
6354
6358
|
|
|
6355
6359
|
#define _mm_maskz_roundscale_round_sd(U, A, B, I, R) \
|
|
6356
|
-
(__m128d)__builtin_ia32_rndscalesd_round_mask((__v2df)(__m128d)(A), \
|
|
6357
|
-
|
|
6358
|
-
|
|
6359
|
-
|
|
6360
|
-
|
|
6360
|
+
((__m128d)__builtin_ia32_rndscalesd_round_mask((__v2df)(__m128d)(A), \
|
|
6361
|
+
(__v2df)(__m128d)(B), \
|
|
6362
|
+
(__v2df)_mm_setzero_pd(), \
|
|
6363
|
+
(__mmask8)(U), (int)(I), \
|
|
6364
|
+
(int)(R)))
|
|
6361
6365
|
|
|
6362
6366
|
#define _mm_roundscale_round_ss(A, B, imm, R) \
|
|
6363
|
-
(__m128)__builtin_ia32_rndscaless_round_mask((__v4sf)(__m128)(A), \
|
|
6364
|
-
|
|
6365
|
-
|
|
6366
|
-
|
|
6367
|
-
|
|
6367
|
+
((__m128)__builtin_ia32_rndscaless_round_mask((__v4sf)(__m128)(A), \
|
|
6368
|
+
(__v4sf)(__m128)(B), \
|
|
6369
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
6370
|
+
(__mmask8)-1, (int)(imm), \
|
|
6371
|
+
(int)(R)))
|
|
6368
6372
|
|
|
6369
6373
|
#define _mm_roundscale_ss(A, B, imm) \
|
|
6370
|
-
(__m128)__builtin_ia32_rndscaless_round_mask((__v4sf)(__m128)(A), \
|
|
6371
|
-
|
|
6372
|
-
|
|
6373
|
-
|
|
6374
|
-
|
|
6374
|
+
((__m128)__builtin_ia32_rndscaless_round_mask((__v4sf)(__m128)(A), \
|
|
6375
|
+
(__v4sf)(__m128)(B), \
|
|
6376
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
6377
|
+
(__mmask8)-1, (int)(imm), \
|
|
6378
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
6375
6379
|
|
|
6376
6380
|
#define _mm_mask_roundscale_ss(W, U, A, B, I) \
|
|
6377
|
-
(__m128)__builtin_ia32_rndscaless_round_mask((__v4sf)(__m128)(A), \
|
|
6378
|
-
|
|
6379
|
-
|
|
6380
|
-
|
|
6381
|
-
|
|
6381
|
+
((__m128)__builtin_ia32_rndscaless_round_mask((__v4sf)(__m128)(A), \
|
|
6382
|
+
(__v4sf)(__m128)(B), \
|
|
6383
|
+
(__v4sf)(__m128)(W), \
|
|
6384
|
+
(__mmask8)(U), (int)(I), \
|
|
6385
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
6382
6386
|
|
|
6383
6387
|
#define _mm_mask_roundscale_round_ss(W, U, A, B, I, R) \
|
|
6384
|
-
(__m128)__builtin_ia32_rndscaless_round_mask((__v4sf)(__m128)(A), \
|
|
6385
|
-
|
|
6386
|
-
|
|
6387
|
-
|
|
6388
|
-
|
|
6388
|
+
((__m128)__builtin_ia32_rndscaless_round_mask((__v4sf)(__m128)(A), \
|
|
6389
|
+
(__v4sf)(__m128)(B), \
|
|
6390
|
+
(__v4sf)(__m128)(W), \
|
|
6391
|
+
(__mmask8)(U), (int)(I), \
|
|
6392
|
+
(int)(R)))
|
|
6389
6393
|
|
|
6390
6394
|
#define _mm_maskz_roundscale_ss(U, A, B, I) \
|
|
6391
|
-
(__m128)__builtin_ia32_rndscaless_round_mask((__v4sf)(__m128)(A), \
|
|
6392
|
-
|
|
6393
|
-
|
|
6394
|
-
|
|
6395
|
-
|
|
6395
|
+
((__m128)__builtin_ia32_rndscaless_round_mask((__v4sf)(__m128)(A), \
|
|
6396
|
+
(__v4sf)(__m128)(B), \
|
|
6397
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
6398
|
+
(__mmask8)(U), (int)(I), \
|
|
6399
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
6396
6400
|
|
|
6397
6401
|
#define _mm_maskz_roundscale_round_ss(U, A, B, I, R) \
|
|
6398
|
-
(__m128)__builtin_ia32_rndscaless_round_mask((__v4sf)(__m128)(A), \
|
|
6399
|
-
|
|
6400
|
-
|
|
6401
|
-
|
|
6402
|
-
|
|
6402
|
+
((__m128)__builtin_ia32_rndscaless_round_mask((__v4sf)(__m128)(A), \
|
|
6403
|
+
(__v4sf)(__m128)(B), \
|
|
6404
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
6405
|
+
(__mmask8)(U), (int)(I), \
|
|
6406
|
+
(int)(R)))
|
|
6403
6407
|
|
|
6404
6408
|
#define _mm512_scalef_round_pd(A, B, R) \
|
|
6405
|
-
(__m512d)__builtin_ia32_scalefpd512_mask((__v8df)(__m512d)(A), \
|
|
6406
|
-
|
|
6407
|
-
|
|
6408
|
-
|
|
6409
|
+
((__m512d)__builtin_ia32_scalefpd512_mask((__v8df)(__m512d)(A), \
|
|
6410
|
+
(__v8df)(__m512d)(B), \
|
|
6411
|
+
(__v8df)_mm512_undefined_pd(), \
|
|
6412
|
+
(__mmask8)-1, (int)(R)))
|
|
6409
6413
|
|
|
6410
6414
|
#define _mm512_mask_scalef_round_pd(W, U, A, B, R) \
|
|
6411
|
-
(__m512d)__builtin_ia32_scalefpd512_mask((__v8df)(__m512d)(A), \
|
|
6412
|
-
|
|
6413
|
-
|
|
6414
|
-
|
|
6415
|
+
((__m512d)__builtin_ia32_scalefpd512_mask((__v8df)(__m512d)(A), \
|
|
6416
|
+
(__v8df)(__m512d)(B), \
|
|
6417
|
+
(__v8df)(__m512d)(W), \
|
|
6418
|
+
(__mmask8)(U), (int)(R)))
|
|
6415
6419
|
|
|
6416
6420
|
#define _mm512_maskz_scalef_round_pd(U, A, B, R) \
|
|
6417
|
-
(__m512d)__builtin_ia32_scalefpd512_mask((__v8df)(__m512d)(A), \
|
|
6418
|
-
|
|
6419
|
-
|
|
6420
|
-
|
|
6421
|
+
((__m512d)__builtin_ia32_scalefpd512_mask((__v8df)(__m512d)(A), \
|
|
6422
|
+
(__v8df)(__m512d)(B), \
|
|
6423
|
+
(__v8df)_mm512_setzero_pd(), \
|
|
6424
|
+
(__mmask8)(U), (int)(R)))
|
|
6421
6425
|
|
|
6422
6426
|
static __inline__ __m512d __DEFAULT_FN_ATTRS512
|
|
6423
6427
|
_mm512_scalef_pd (__m512d __A, __m512d __B)
|
|
@@ -6452,22 +6456,22 @@ _mm512_maskz_scalef_pd (__mmask8 __U, __m512d __A, __m512d __B)
|
|
|
6452
6456
|
}
|
|
6453
6457
|
|
|
6454
6458
|
#define _mm512_scalef_round_ps(A, B, R) \
|
|
6455
|
-
(__m512)__builtin_ia32_scalefps512_mask((__v16sf)(__m512)(A), \
|
|
6456
|
-
|
|
6457
|
-
|
|
6458
|
-
|
|
6459
|
+
((__m512)__builtin_ia32_scalefps512_mask((__v16sf)(__m512)(A), \
|
|
6460
|
+
(__v16sf)(__m512)(B), \
|
|
6461
|
+
(__v16sf)_mm512_undefined_ps(), \
|
|
6462
|
+
(__mmask16)-1, (int)(R)))
|
|
6459
6463
|
|
|
6460
6464
|
#define _mm512_mask_scalef_round_ps(W, U, A, B, R) \
|
|
6461
|
-
(__m512)__builtin_ia32_scalefps512_mask((__v16sf)(__m512)(A), \
|
|
6462
|
-
|
|
6463
|
-
|
|
6464
|
-
|
|
6465
|
+
((__m512)__builtin_ia32_scalefps512_mask((__v16sf)(__m512)(A), \
|
|
6466
|
+
(__v16sf)(__m512)(B), \
|
|
6467
|
+
(__v16sf)(__m512)(W), \
|
|
6468
|
+
(__mmask16)(U), (int)(R)))
|
|
6465
6469
|
|
|
6466
6470
|
#define _mm512_maskz_scalef_round_ps(U, A, B, R) \
|
|
6467
|
-
(__m512)__builtin_ia32_scalefps512_mask((__v16sf)(__m512)(A), \
|
|
6468
|
-
|
|
6469
|
-
|
|
6470
|
-
|
|
6471
|
+
((__m512)__builtin_ia32_scalefps512_mask((__v16sf)(__m512)(A), \
|
|
6472
|
+
(__v16sf)(__m512)(B), \
|
|
6473
|
+
(__v16sf)_mm512_setzero_ps(), \
|
|
6474
|
+
(__mmask16)(U), (int)(R)))
|
|
6471
6475
|
|
|
6472
6476
|
static __inline__ __m512 __DEFAULT_FN_ATTRS512
|
|
6473
6477
|
_mm512_scalef_ps (__m512 __A, __m512 __B)
|
|
@@ -6502,10 +6506,10 @@ _mm512_maskz_scalef_ps (__mmask16 __U, __m512 __A, __m512 __B)
|
|
|
6502
6506
|
}
|
|
6503
6507
|
|
|
6504
6508
|
#define _mm_scalef_round_sd(A, B, R) \
|
|
6505
|
-
(__m128d)__builtin_ia32_scalefsd_round_mask((__v2df)(__m128d)(A), \
|
|
6506
|
-
|
|
6507
|
-
|
|
6508
|
-
|
|
6509
|
+
((__m128d)__builtin_ia32_scalefsd_round_mask((__v2df)(__m128d)(A), \
|
|
6510
|
+
(__v2df)(__m128d)(B), \
|
|
6511
|
+
(__v2df)_mm_setzero_pd(), \
|
|
6512
|
+
(__mmask8)-1, (int)(R)))
|
|
6509
6513
|
|
|
6510
6514
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
6511
6515
|
_mm_scalef_sd (__m128d __A, __m128d __B)
|
|
@@ -6527,10 +6531,10 @@ _mm_mask_scalef_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
|
|
|
6527
6531
|
}
|
|
6528
6532
|
|
|
6529
6533
|
#define _mm_mask_scalef_round_sd(W, U, A, B, R) \
|
|
6530
|
-
(__m128d)__builtin_ia32_scalefsd_round_mask((__v2df)(__m128d)(A), \
|
|
6531
|
-
|
|
6532
|
-
|
|
6533
|
-
|
|
6534
|
+
((__m128d)__builtin_ia32_scalefsd_round_mask((__v2df)(__m128d)(A), \
|
|
6535
|
+
(__v2df)(__m128d)(B), \
|
|
6536
|
+
(__v2df)(__m128d)(W), \
|
|
6537
|
+
(__mmask8)(U), (int)(R)))
|
|
6534
6538
|
|
|
6535
6539
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
6536
6540
|
_mm_maskz_scalef_sd (__mmask8 __U, __m128d __A, __m128d __B)
|
|
@@ -6543,16 +6547,16 @@ _mm_maskz_scalef_sd (__mmask8 __U, __m128d __A, __m128d __B)
|
|
|
6543
6547
|
}
|
|
6544
6548
|
|
|
6545
6549
|
#define _mm_maskz_scalef_round_sd(U, A, B, R) \
|
|
6546
|
-
(__m128d)__builtin_ia32_scalefsd_round_mask((__v2df)(__m128d)(A), \
|
|
6547
|
-
|
|
6548
|
-
|
|
6549
|
-
|
|
6550
|
+
((__m128d)__builtin_ia32_scalefsd_round_mask((__v2df)(__m128d)(A), \
|
|
6551
|
+
(__v2df)(__m128d)(B), \
|
|
6552
|
+
(__v2df)_mm_setzero_pd(), \
|
|
6553
|
+
(__mmask8)(U), (int)(R)))
|
|
6550
6554
|
|
|
6551
6555
|
#define _mm_scalef_round_ss(A, B, R) \
|
|
6552
|
-
(__m128)__builtin_ia32_scalefss_round_mask((__v4sf)(__m128)(A), \
|
|
6553
|
-
|
|
6554
|
-
|
|
6555
|
-
|
|
6556
|
+
((__m128)__builtin_ia32_scalefss_round_mask((__v4sf)(__m128)(A), \
|
|
6557
|
+
(__v4sf)(__m128)(B), \
|
|
6558
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
6559
|
+
(__mmask8)-1, (int)(R)))
|
|
6556
6560
|
|
|
6557
6561
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
6558
6562
|
_mm_scalef_ss (__m128 __A, __m128 __B)
|
|
@@ -6574,10 +6578,10 @@ _mm_mask_scalef_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
|
|
|
6574
6578
|
}
|
|
6575
6579
|
|
|
6576
6580
|
#define _mm_mask_scalef_round_ss(W, U, A, B, R) \
|
|
6577
|
-
(__m128)__builtin_ia32_scalefss_round_mask((__v4sf)(__m128)(A), \
|
|
6578
|
-
|
|
6579
|
-
|
|
6580
|
-
|
|
6581
|
+
((__m128)__builtin_ia32_scalefss_round_mask((__v4sf)(__m128)(A), \
|
|
6582
|
+
(__v4sf)(__m128)(B), \
|
|
6583
|
+
(__v4sf)(__m128)(W), \
|
|
6584
|
+
(__mmask8)(U), (int)(R)))
|
|
6581
6585
|
|
|
6582
6586
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
6583
6587
|
_mm_maskz_scalef_ss (__mmask8 __U, __m128 __A, __m128 __B)
|
|
@@ -6590,11 +6594,11 @@ _mm_maskz_scalef_ss (__mmask8 __U, __m128 __A, __m128 __B)
|
|
|
6590
6594
|
}
|
|
6591
6595
|
|
|
6592
6596
|
#define _mm_maskz_scalef_round_ss(U, A, B, R) \
|
|
6593
|
-
(__m128)__builtin_ia32_scalefss_round_mask((__v4sf)(__m128)(A), \
|
|
6594
|
-
|
|
6595
|
-
|
|
6596
|
-
|
|
6597
|
-
|
|
6597
|
+
((__m128)__builtin_ia32_scalefss_round_mask((__v4sf)(__m128)(A), \
|
|
6598
|
+
(__v4sf)(__m128)(B), \
|
|
6599
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
6600
|
+
(__mmask8)(U), \
|
|
6601
|
+
(int)(R)))
|
|
6598
6602
|
|
|
6599
6603
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
6600
6604
|
_mm512_srai_epi32(__m512i __A, unsigned int __B)
|
|
@@ -6642,94 +6646,94 @@ _mm512_maskz_srai_epi64(__mmask8 __U, __m512i __A, unsigned int __B)
|
|
|
6642
6646
|
}
|
|
6643
6647
|
|
|
6644
6648
|
#define _mm512_shuffle_f32x4(A, B, imm) \
|
|
6645
|
-
(__m512)__builtin_ia32_shuf_f32x4((__v16sf)(__m512)(A), \
|
|
6646
|
-
|
|
6649
|
+
((__m512)__builtin_ia32_shuf_f32x4((__v16sf)(__m512)(A), \
|
|
6650
|
+
(__v16sf)(__m512)(B), (int)(imm)))
|
|
6647
6651
|
|
|
6648
6652
|
#define _mm512_mask_shuffle_f32x4(W, U, A, B, imm) \
|
|
6649
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
6650
|
-
|
|
6651
|
-
|
|
6653
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
6654
|
+
(__v16sf)_mm512_shuffle_f32x4((A), (B), (imm)), \
|
|
6655
|
+
(__v16sf)(__m512)(W)))
|
|
6652
6656
|
|
|
6653
6657
|
#define _mm512_maskz_shuffle_f32x4(U, A, B, imm) \
|
|
6654
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
6655
|
-
|
|
6656
|
-
|
|
6658
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
6659
|
+
(__v16sf)_mm512_shuffle_f32x4((A), (B), (imm)), \
|
|
6660
|
+
(__v16sf)_mm512_setzero_ps()))
|
|
6657
6661
|
|
|
6658
6662
|
#define _mm512_shuffle_f64x2(A, B, imm) \
|
|
6659
|
-
(__m512d)__builtin_ia32_shuf_f64x2((__v8df)(__m512d)(A), \
|
|
6660
|
-
|
|
6663
|
+
((__m512d)__builtin_ia32_shuf_f64x2((__v8df)(__m512d)(A), \
|
|
6664
|
+
(__v8df)(__m512d)(B), (int)(imm)))
|
|
6661
6665
|
|
|
6662
6666
|
#define _mm512_mask_shuffle_f64x2(W, U, A, B, imm) \
|
|
6663
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
6664
|
-
|
|
6665
|
-
|
|
6667
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
6668
|
+
(__v8df)_mm512_shuffle_f64x2((A), (B), (imm)), \
|
|
6669
|
+
(__v8df)(__m512d)(W)))
|
|
6666
6670
|
|
|
6667
6671
|
#define _mm512_maskz_shuffle_f64x2(U, A, B, imm) \
|
|
6668
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
6669
|
-
|
|
6670
|
-
|
|
6672
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
6673
|
+
(__v8df)_mm512_shuffle_f64x2((A), (B), (imm)), \
|
|
6674
|
+
(__v8df)_mm512_setzero_pd()))
|
|
6671
6675
|
|
|
6672
6676
|
#define _mm512_shuffle_i32x4(A, B, imm) \
|
|
6673
|
-
(__m512i)__builtin_ia32_shuf_i32x4((__v16si)(__m512i)(A), \
|
|
6674
|
-
|
|
6677
|
+
((__m512i)__builtin_ia32_shuf_i32x4((__v16si)(__m512i)(A), \
|
|
6678
|
+
(__v16si)(__m512i)(B), (int)(imm)))
|
|
6675
6679
|
|
|
6676
6680
|
#define _mm512_mask_shuffle_i32x4(W, U, A, B, imm) \
|
|
6677
|
-
(__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
6678
|
-
|
|
6679
|
-
|
|
6681
|
+
((__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
6682
|
+
(__v16si)_mm512_shuffle_i32x4((A), (B), (imm)), \
|
|
6683
|
+
(__v16si)(__m512i)(W)))
|
|
6680
6684
|
|
|
6681
6685
|
#define _mm512_maskz_shuffle_i32x4(U, A, B, imm) \
|
|
6682
|
-
(__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
6683
|
-
|
|
6684
|
-
|
|
6686
|
+
((__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
6687
|
+
(__v16si)_mm512_shuffle_i32x4((A), (B), (imm)), \
|
|
6688
|
+
(__v16si)_mm512_setzero_si512()))
|
|
6685
6689
|
|
|
6686
6690
|
#define _mm512_shuffle_i64x2(A, B, imm) \
|
|
6687
|
-
(__m512i)__builtin_ia32_shuf_i64x2((__v8di)(__m512i)(A), \
|
|
6688
|
-
|
|
6691
|
+
((__m512i)__builtin_ia32_shuf_i64x2((__v8di)(__m512i)(A), \
|
|
6692
|
+
(__v8di)(__m512i)(B), (int)(imm)))
|
|
6689
6693
|
|
|
6690
6694
|
#define _mm512_mask_shuffle_i64x2(W, U, A, B, imm) \
|
|
6691
|
-
(__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
6692
|
-
|
|
6693
|
-
|
|
6695
|
+
((__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
6696
|
+
(__v8di)_mm512_shuffle_i64x2((A), (B), (imm)), \
|
|
6697
|
+
(__v8di)(__m512i)(W)))
|
|
6694
6698
|
|
|
6695
6699
|
#define _mm512_maskz_shuffle_i64x2(U, A, B, imm) \
|
|
6696
|
-
(__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
6697
|
-
|
|
6698
|
-
|
|
6700
|
+
((__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
6701
|
+
(__v8di)_mm512_shuffle_i64x2((A), (B), (imm)), \
|
|
6702
|
+
(__v8di)_mm512_setzero_si512()))
|
|
6699
6703
|
|
|
6700
6704
|
#define _mm512_shuffle_pd(A, B, M) \
|
|
6701
|
-
(__m512d)__builtin_ia32_shufpd512((__v8df)(__m512d)(A), \
|
|
6702
|
-
|
|
6705
|
+
((__m512d)__builtin_ia32_shufpd512((__v8df)(__m512d)(A), \
|
|
6706
|
+
(__v8df)(__m512d)(B), (int)(M)))
|
|
6703
6707
|
|
|
6704
6708
|
#define _mm512_mask_shuffle_pd(W, U, A, B, M) \
|
|
6705
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
6706
|
-
|
|
6707
|
-
|
|
6709
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
6710
|
+
(__v8df)_mm512_shuffle_pd((A), (B), (M)), \
|
|
6711
|
+
(__v8df)(__m512d)(W)))
|
|
6708
6712
|
|
|
6709
6713
|
#define _mm512_maskz_shuffle_pd(U, A, B, M) \
|
|
6710
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
6711
|
-
|
|
6712
|
-
|
|
6714
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
6715
|
+
(__v8df)_mm512_shuffle_pd((A), (B), (M)), \
|
|
6716
|
+
(__v8df)_mm512_setzero_pd()))
|
|
6713
6717
|
|
|
6714
6718
|
#define _mm512_shuffle_ps(A, B, M) \
|
|
6715
|
-
(__m512)__builtin_ia32_shufps512((__v16sf)(__m512)(A), \
|
|
6716
|
-
|
|
6719
|
+
((__m512)__builtin_ia32_shufps512((__v16sf)(__m512)(A), \
|
|
6720
|
+
(__v16sf)(__m512)(B), (int)(M)))
|
|
6717
6721
|
|
|
6718
6722
|
#define _mm512_mask_shuffle_ps(W, U, A, B, M) \
|
|
6719
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
6720
|
-
|
|
6721
|
-
|
|
6723
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
6724
|
+
(__v16sf)_mm512_shuffle_ps((A), (B), (M)), \
|
|
6725
|
+
(__v16sf)(__m512)(W)))
|
|
6722
6726
|
|
|
6723
6727
|
#define _mm512_maskz_shuffle_ps(U, A, B, M) \
|
|
6724
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
6725
|
-
|
|
6726
|
-
|
|
6728
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
6729
|
+
(__v16sf)_mm512_shuffle_ps((A), (B), (M)), \
|
|
6730
|
+
(__v16sf)_mm512_setzero_ps()))
|
|
6727
6731
|
|
|
6728
6732
|
#define _mm_sqrt_round_sd(A, B, R) \
|
|
6729
|
-
(__m128d)__builtin_ia32_sqrtsd_round_mask((__v2df)(__m128d)(A), \
|
|
6730
|
-
|
|
6731
|
-
|
|
6732
|
-
|
|
6733
|
+
((__m128d)__builtin_ia32_sqrtsd_round_mask((__v2df)(__m128d)(A), \
|
|
6734
|
+
(__v2df)(__m128d)(B), \
|
|
6735
|
+
(__v2df)_mm_setzero_pd(), \
|
|
6736
|
+
(__mmask8)-1, (int)(R)))
|
|
6733
6737
|
|
|
6734
6738
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
6735
6739
|
_mm_mask_sqrt_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
|
|
@@ -6742,10 +6746,10 @@ _mm_mask_sqrt_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
|
|
|
6742
6746
|
}
|
|
6743
6747
|
|
|
6744
6748
|
#define _mm_mask_sqrt_round_sd(W, U, A, B, R) \
|
|
6745
|
-
(__m128d)__builtin_ia32_sqrtsd_round_mask((__v2df)(__m128d)(A), \
|
|
6746
|
-
|
|
6747
|
-
|
|
6748
|
-
|
|
6749
|
+
((__m128d)__builtin_ia32_sqrtsd_round_mask((__v2df)(__m128d)(A), \
|
|
6750
|
+
(__v2df)(__m128d)(B), \
|
|
6751
|
+
(__v2df)(__m128d)(W), \
|
|
6752
|
+
(__mmask8)(U), (int)(R)))
|
|
6749
6753
|
|
|
6750
6754
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
6751
6755
|
_mm_maskz_sqrt_sd (__mmask8 __U, __m128d __A, __m128d __B)
|
|
@@ -6758,16 +6762,16 @@ _mm_maskz_sqrt_sd (__mmask8 __U, __m128d __A, __m128d __B)
|
|
|
6758
6762
|
}
|
|
6759
6763
|
|
|
6760
6764
|
#define _mm_maskz_sqrt_round_sd(U, A, B, R) \
|
|
6761
|
-
(__m128d)__builtin_ia32_sqrtsd_round_mask((__v2df)(__m128d)(A), \
|
|
6762
|
-
|
|
6763
|
-
|
|
6764
|
-
|
|
6765
|
+
((__m128d)__builtin_ia32_sqrtsd_round_mask((__v2df)(__m128d)(A), \
|
|
6766
|
+
(__v2df)(__m128d)(B), \
|
|
6767
|
+
(__v2df)_mm_setzero_pd(), \
|
|
6768
|
+
(__mmask8)(U), (int)(R)))
|
|
6765
6769
|
|
|
6766
6770
|
#define _mm_sqrt_round_ss(A, B, R) \
|
|
6767
|
-
(__m128)__builtin_ia32_sqrtss_round_mask((__v4sf)(__m128)(A), \
|
|
6768
|
-
|
|
6769
|
-
|
|
6770
|
-
|
|
6771
|
+
((__m128)__builtin_ia32_sqrtss_round_mask((__v4sf)(__m128)(A), \
|
|
6772
|
+
(__v4sf)(__m128)(B), \
|
|
6773
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
6774
|
+
(__mmask8)-1, (int)(R)))
|
|
6771
6775
|
|
|
6772
6776
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
6773
6777
|
_mm_mask_sqrt_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
|
|
@@ -6780,10 +6784,10 @@ _mm_mask_sqrt_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
|
|
|
6780
6784
|
}
|
|
6781
6785
|
|
|
6782
6786
|
#define _mm_mask_sqrt_round_ss(W, U, A, B, R) \
|
|
6783
|
-
(__m128)__builtin_ia32_sqrtss_round_mask((__v4sf)(__m128)(A), \
|
|
6784
|
-
|
|
6785
|
-
|
|
6786
|
-
|
|
6787
|
+
((__m128)__builtin_ia32_sqrtss_round_mask((__v4sf)(__m128)(A), \
|
|
6788
|
+
(__v4sf)(__m128)(B), \
|
|
6789
|
+
(__v4sf)(__m128)(W), (__mmask8)(U), \
|
|
6790
|
+
(int)(R)))
|
|
6787
6791
|
|
|
6788
6792
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
6789
6793
|
_mm_maskz_sqrt_ss (__mmask8 __U, __m128 __A, __m128 __B)
|
|
@@ -6796,10 +6800,10 @@ _mm_maskz_sqrt_ss (__mmask8 __U, __m128 __A, __m128 __B)
|
|
|
6796
6800
|
}
|
|
6797
6801
|
|
|
6798
6802
|
#define _mm_maskz_sqrt_round_ss(U, A, B, R) \
|
|
6799
|
-
(__m128)__builtin_ia32_sqrtss_round_mask((__v4sf)(__m128)(A), \
|
|
6800
|
-
|
|
6801
|
-
|
|
6802
|
-
|
|
6803
|
+
((__m128)__builtin_ia32_sqrtss_round_mask((__v4sf)(__m128)(A), \
|
|
6804
|
+
(__v4sf)(__m128)(B), \
|
|
6805
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
6806
|
+
(__mmask8)(U), (int)(R)))
|
|
6803
6807
|
|
|
6804
6808
|
static __inline__ __m512 __DEFAULT_FN_ATTRS512
|
|
6805
6809
|
_mm512_broadcast_f32x4(__m128 __A)
|
|
@@ -7366,183 +7370,183 @@ _mm512_mask_cvtepi64_storeu_epi16 (void *__P, __mmask8 __M, __m512i __A)
|
|
|
7366
7370
|
}
|
|
7367
7371
|
|
|
7368
7372
|
#define _mm512_extracti32x4_epi32(A, imm) \
|
|
7369
|
-
(__m128i)__builtin_ia32_extracti32x4_mask((__v16si)(__m512i)(A), (int)(imm), \
|
|
7370
|
-
|
|
7371
|
-
|
|
7373
|
+
((__m128i)__builtin_ia32_extracti32x4_mask((__v16si)(__m512i)(A), (int)(imm), \
|
|
7374
|
+
(__v4si)_mm_undefined_si128(), \
|
|
7375
|
+
(__mmask8)-1))
|
|
7372
7376
|
|
|
7373
7377
|
#define _mm512_mask_extracti32x4_epi32(W, U, A, imm) \
|
|
7374
|
-
(__m128i)__builtin_ia32_extracti32x4_mask((__v16si)(__m512i)(A), (int)(imm), \
|
|
7375
|
-
|
|
7376
|
-
|
|
7378
|
+
((__m128i)__builtin_ia32_extracti32x4_mask((__v16si)(__m512i)(A), (int)(imm), \
|
|
7379
|
+
(__v4si)(__m128i)(W), \
|
|
7380
|
+
(__mmask8)(U)))
|
|
7377
7381
|
|
|
7378
7382
|
#define _mm512_maskz_extracti32x4_epi32(U, A, imm) \
|
|
7379
|
-
(__m128i)__builtin_ia32_extracti32x4_mask((__v16si)(__m512i)(A), (int)(imm), \
|
|
7380
|
-
|
|
7381
|
-
|
|
7383
|
+
((__m128i)__builtin_ia32_extracti32x4_mask((__v16si)(__m512i)(A), (int)(imm), \
|
|
7384
|
+
(__v4si)_mm_setzero_si128(), \
|
|
7385
|
+
(__mmask8)(U)))
|
|
7382
7386
|
|
|
7383
7387
|
#define _mm512_extracti64x4_epi64(A, imm) \
|
|
7384
|
-
(__m256i)__builtin_ia32_extracti64x4_mask((__v8di)(__m512i)(A), (int)(imm), \
|
|
7385
|
-
|
|
7386
|
-
|
|
7388
|
+
((__m256i)__builtin_ia32_extracti64x4_mask((__v8di)(__m512i)(A), (int)(imm), \
|
|
7389
|
+
(__v4di)_mm256_undefined_si256(), \
|
|
7390
|
+
(__mmask8)-1))
|
|
7387
7391
|
|
|
7388
7392
|
#define _mm512_mask_extracti64x4_epi64(W, U, A, imm) \
|
|
7389
|
-
(__m256i)__builtin_ia32_extracti64x4_mask((__v8di)(__m512i)(A), (int)(imm), \
|
|
7390
|
-
|
|
7391
|
-
|
|
7393
|
+
((__m256i)__builtin_ia32_extracti64x4_mask((__v8di)(__m512i)(A), (int)(imm), \
|
|
7394
|
+
(__v4di)(__m256i)(W), \
|
|
7395
|
+
(__mmask8)(U)))
|
|
7392
7396
|
|
|
7393
7397
|
#define _mm512_maskz_extracti64x4_epi64(U, A, imm) \
|
|
7394
|
-
(__m256i)__builtin_ia32_extracti64x4_mask((__v8di)(__m512i)(A), (int)(imm), \
|
|
7395
|
-
|
|
7396
|
-
|
|
7398
|
+
((__m256i)__builtin_ia32_extracti64x4_mask((__v8di)(__m512i)(A), (int)(imm), \
|
|
7399
|
+
(__v4di)_mm256_setzero_si256(), \
|
|
7400
|
+
(__mmask8)(U)))
|
|
7397
7401
|
|
|
7398
7402
|
#define _mm512_insertf64x4(A, B, imm) \
|
|
7399
|
-
(__m512d)__builtin_ia32_insertf64x4((__v8df)(__m512d)(A), \
|
|
7400
|
-
|
|
7403
|
+
((__m512d)__builtin_ia32_insertf64x4((__v8df)(__m512d)(A), \
|
|
7404
|
+
(__v4df)(__m256d)(B), (int)(imm)))
|
|
7401
7405
|
|
|
7402
7406
|
#define _mm512_mask_insertf64x4(W, U, A, B, imm) \
|
|
7403
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
7404
|
-
|
|
7405
|
-
|
|
7407
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
7408
|
+
(__v8df)_mm512_insertf64x4((A), (B), (imm)), \
|
|
7409
|
+
(__v8df)(__m512d)(W)))
|
|
7406
7410
|
|
|
7407
7411
|
#define _mm512_maskz_insertf64x4(U, A, B, imm) \
|
|
7408
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
7409
|
-
|
|
7410
|
-
|
|
7412
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
7413
|
+
(__v8df)_mm512_insertf64x4((A), (B), (imm)), \
|
|
7414
|
+
(__v8df)_mm512_setzero_pd()))
|
|
7411
7415
|
|
|
7412
7416
|
#define _mm512_inserti64x4(A, B, imm) \
|
|
7413
|
-
(__m512i)__builtin_ia32_inserti64x4((__v8di)(__m512i)(A), \
|
|
7414
|
-
|
|
7417
|
+
((__m512i)__builtin_ia32_inserti64x4((__v8di)(__m512i)(A), \
|
|
7418
|
+
(__v4di)(__m256i)(B), (int)(imm)))
|
|
7415
7419
|
|
|
7416
7420
|
#define _mm512_mask_inserti64x4(W, U, A, B, imm) \
|
|
7417
|
-
(__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
7418
|
-
|
|
7419
|
-
|
|
7421
|
+
((__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
7422
|
+
(__v8di)_mm512_inserti64x4((A), (B), (imm)), \
|
|
7423
|
+
(__v8di)(__m512i)(W)))
|
|
7420
7424
|
|
|
7421
7425
|
#define _mm512_maskz_inserti64x4(U, A, B, imm) \
|
|
7422
|
-
(__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
7423
|
-
|
|
7424
|
-
|
|
7426
|
+
((__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
7427
|
+
(__v8di)_mm512_inserti64x4((A), (B), (imm)), \
|
|
7428
|
+
(__v8di)_mm512_setzero_si512()))
|
|
7425
7429
|
|
|
7426
7430
|
#define _mm512_insertf32x4(A, B, imm) \
|
|
7427
|
-
(__m512)__builtin_ia32_insertf32x4((__v16sf)(__m512)(A), \
|
|
7428
|
-
|
|
7431
|
+
((__m512)__builtin_ia32_insertf32x4((__v16sf)(__m512)(A), \
|
|
7432
|
+
(__v4sf)(__m128)(B), (int)(imm)))
|
|
7429
7433
|
|
|
7430
7434
|
#define _mm512_mask_insertf32x4(W, U, A, B, imm) \
|
|
7431
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
7432
|
-
|
|
7433
|
-
|
|
7435
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
7436
|
+
(__v16sf)_mm512_insertf32x4((A), (B), (imm)), \
|
|
7437
|
+
(__v16sf)(__m512)(W)))
|
|
7434
7438
|
|
|
7435
7439
|
#define _mm512_maskz_insertf32x4(U, A, B, imm) \
|
|
7436
|
-
(__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
7437
|
-
|
|
7438
|
-
|
|
7440
|
+
((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
|
|
7441
|
+
(__v16sf)_mm512_insertf32x4((A), (B), (imm)), \
|
|
7442
|
+
(__v16sf)_mm512_setzero_ps()))
|
|
7439
7443
|
|
|
7440
7444
|
#define _mm512_inserti32x4(A, B, imm) \
|
|
7441
|
-
(__m512i)__builtin_ia32_inserti32x4((__v16si)(__m512i)(A), \
|
|
7442
|
-
|
|
7445
|
+
((__m512i)__builtin_ia32_inserti32x4((__v16si)(__m512i)(A), \
|
|
7446
|
+
(__v4si)(__m128i)(B), (int)(imm)))
|
|
7443
7447
|
|
|
7444
7448
|
#define _mm512_mask_inserti32x4(W, U, A, B, imm) \
|
|
7445
|
-
(__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
7446
|
-
|
|
7447
|
-
|
|
7449
|
+
((__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
7450
|
+
(__v16si)_mm512_inserti32x4((A), (B), (imm)), \
|
|
7451
|
+
(__v16si)(__m512i)(W)))
|
|
7448
7452
|
|
|
7449
7453
|
#define _mm512_maskz_inserti32x4(U, A, B, imm) \
|
|
7450
|
-
(__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
7451
|
-
|
|
7452
|
-
|
|
7454
|
+
((__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
7455
|
+
(__v16si)_mm512_inserti32x4((A), (B), (imm)), \
|
|
7456
|
+
(__v16si)_mm512_setzero_si512()))
|
|
7453
7457
|
|
|
7454
7458
|
#define _mm512_getmant_round_pd(A, B, C, R) \
|
|
7455
|
-
(__m512d)__builtin_ia32_getmantpd512_mask((__v8df)(__m512d)(A), \
|
|
7456
|
-
|
|
7457
|
-
|
|
7458
|
-
|
|
7459
|
+
((__m512d)__builtin_ia32_getmantpd512_mask((__v8df)(__m512d)(A), \
|
|
7460
|
+
(int)(((C)<<2) | (B)), \
|
|
7461
|
+
(__v8df)_mm512_undefined_pd(), \
|
|
7462
|
+
(__mmask8)-1, (int)(R)))
|
|
7459
7463
|
|
|
7460
7464
|
#define _mm512_mask_getmant_round_pd(W, U, A, B, C, R) \
|
|
7461
|
-
(__m512d)__builtin_ia32_getmantpd512_mask((__v8df)(__m512d)(A), \
|
|
7462
|
-
|
|
7463
|
-
|
|
7464
|
-
|
|
7465
|
+
((__m512d)__builtin_ia32_getmantpd512_mask((__v8df)(__m512d)(A), \
|
|
7466
|
+
(int)(((C)<<2) | (B)), \
|
|
7467
|
+
(__v8df)(__m512d)(W), \
|
|
7468
|
+
(__mmask8)(U), (int)(R)))
|
|
7465
7469
|
|
|
7466
7470
|
#define _mm512_maskz_getmant_round_pd(U, A, B, C, R) \
|
|
7467
|
-
(__m512d)__builtin_ia32_getmantpd512_mask((__v8df)(__m512d)(A), \
|
|
7468
|
-
|
|
7469
|
-
|
|
7470
|
-
|
|
7471
|
+
((__m512d)__builtin_ia32_getmantpd512_mask((__v8df)(__m512d)(A), \
|
|
7472
|
+
(int)(((C)<<2) | (B)), \
|
|
7473
|
+
(__v8df)_mm512_setzero_pd(), \
|
|
7474
|
+
(__mmask8)(U), (int)(R)))
|
|
7471
7475
|
|
|
7472
7476
|
#define _mm512_getmant_pd(A, B, C) \
|
|
7473
|
-
(__m512d)__builtin_ia32_getmantpd512_mask((__v8df)(__m512d)(A), \
|
|
7474
|
-
|
|
7475
|
-
|
|
7476
|
-
|
|
7477
|
-
|
|
7477
|
+
((__m512d)__builtin_ia32_getmantpd512_mask((__v8df)(__m512d)(A), \
|
|
7478
|
+
(int)(((C)<<2) | (B)), \
|
|
7479
|
+
(__v8df)_mm512_setzero_pd(), \
|
|
7480
|
+
(__mmask8)-1, \
|
|
7481
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
7478
7482
|
|
|
7479
7483
|
#define _mm512_mask_getmant_pd(W, U, A, B, C) \
|
|
7480
|
-
(__m512d)__builtin_ia32_getmantpd512_mask((__v8df)(__m512d)(A), \
|
|
7481
|
-
|
|
7482
|
-
|
|
7483
|
-
|
|
7484
|
-
|
|
7484
|
+
((__m512d)__builtin_ia32_getmantpd512_mask((__v8df)(__m512d)(A), \
|
|
7485
|
+
(int)(((C)<<2) | (B)), \
|
|
7486
|
+
(__v8df)(__m512d)(W), \
|
|
7487
|
+
(__mmask8)(U), \
|
|
7488
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
7485
7489
|
|
|
7486
7490
|
#define _mm512_maskz_getmant_pd(U, A, B, C) \
|
|
7487
|
-
(__m512d)__builtin_ia32_getmantpd512_mask((__v8df)(__m512d)(A), \
|
|
7488
|
-
|
|
7489
|
-
|
|
7490
|
-
|
|
7491
|
-
|
|
7491
|
+
((__m512d)__builtin_ia32_getmantpd512_mask((__v8df)(__m512d)(A), \
|
|
7492
|
+
(int)(((C)<<2) | (B)), \
|
|
7493
|
+
(__v8df)_mm512_setzero_pd(), \
|
|
7494
|
+
(__mmask8)(U), \
|
|
7495
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
7492
7496
|
|
|
7493
7497
|
#define _mm512_getmant_round_ps(A, B, C, R) \
|
|
7494
|
-
(__m512)__builtin_ia32_getmantps512_mask((__v16sf)(__m512)(A), \
|
|
7495
|
-
|
|
7496
|
-
|
|
7497
|
-
|
|
7498
|
+
((__m512)__builtin_ia32_getmantps512_mask((__v16sf)(__m512)(A), \
|
|
7499
|
+
(int)(((C)<<2) | (B)), \
|
|
7500
|
+
(__v16sf)_mm512_undefined_ps(), \
|
|
7501
|
+
(__mmask16)-1, (int)(R)))
|
|
7498
7502
|
|
|
7499
7503
|
#define _mm512_mask_getmant_round_ps(W, U, A, B, C, R) \
|
|
7500
|
-
(__m512)__builtin_ia32_getmantps512_mask((__v16sf)(__m512)(A), \
|
|
7501
|
-
|
|
7502
|
-
|
|
7503
|
-
|
|
7504
|
+
((__m512)__builtin_ia32_getmantps512_mask((__v16sf)(__m512)(A), \
|
|
7505
|
+
(int)(((C)<<2) | (B)), \
|
|
7506
|
+
(__v16sf)(__m512)(W), \
|
|
7507
|
+
(__mmask16)(U), (int)(R)))
|
|
7504
7508
|
|
|
7505
7509
|
#define _mm512_maskz_getmant_round_ps(U, A, B, C, R) \
|
|
7506
|
-
(__m512)__builtin_ia32_getmantps512_mask((__v16sf)(__m512)(A), \
|
|
7507
|
-
|
|
7508
|
-
|
|
7509
|
-
|
|
7510
|
+
((__m512)__builtin_ia32_getmantps512_mask((__v16sf)(__m512)(A), \
|
|
7511
|
+
(int)(((C)<<2) | (B)), \
|
|
7512
|
+
(__v16sf)_mm512_setzero_ps(), \
|
|
7513
|
+
(__mmask16)(U), (int)(R)))
|
|
7510
7514
|
|
|
7511
7515
|
#define _mm512_getmant_ps(A, B, C) \
|
|
7512
|
-
(__m512)__builtin_ia32_getmantps512_mask((__v16sf)(__m512)(A), \
|
|
7513
|
-
|
|
7514
|
-
|
|
7515
|
-
|
|
7516
|
-
|
|
7516
|
+
((__m512)__builtin_ia32_getmantps512_mask((__v16sf)(__m512)(A), \
|
|
7517
|
+
(int)(((C)<<2)|(B)), \
|
|
7518
|
+
(__v16sf)_mm512_undefined_ps(), \
|
|
7519
|
+
(__mmask16)-1, \
|
|
7520
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
7517
7521
|
|
|
7518
7522
|
#define _mm512_mask_getmant_ps(W, U, A, B, C) \
|
|
7519
|
-
(__m512)__builtin_ia32_getmantps512_mask((__v16sf)(__m512)(A), \
|
|
7520
|
-
|
|
7521
|
-
|
|
7522
|
-
|
|
7523
|
-
|
|
7523
|
+
((__m512)__builtin_ia32_getmantps512_mask((__v16sf)(__m512)(A), \
|
|
7524
|
+
(int)(((C)<<2)|(B)), \
|
|
7525
|
+
(__v16sf)(__m512)(W), \
|
|
7526
|
+
(__mmask16)(U), \
|
|
7527
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
7524
7528
|
|
|
7525
7529
|
#define _mm512_maskz_getmant_ps(U, A, B, C) \
|
|
7526
|
-
(__m512)__builtin_ia32_getmantps512_mask((__v16sf)(__m512)(A), \
|
|
7527
|
-
|
|
7528
|
-
|
|
7529
|
-
|
|
7530
|
-
|
|
7530
|
+
((__m512)__builtin_ia32_getmantps512_mask((__v16sf)(__m512)(A), \
|
|
7531
|
+
(int)(((C)<<2)|(B)), \
|
|
7532
|
+
(__v16sf)_mm512_setzero_ps(), \
|
|
7533
|
+
(__mmask16)(U), \
|
|
7534
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
7531
7535
|
|
|
7532
7536
|
#define _mm512_getexp_round_pd(A, R) \
|
|
7533
|
-
(__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A), \
|
|
7534
|
-
|
|
7535
|
-
|
|
7537
|
+
((__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A), \
|
|
7538
|
+
(__v8df)_mm512_undefined_pd(), \
|
|
7539
|
+
(__mmask8)-1, (int)(R)))
|
|
7536
7540
|
|
|
7537
7541
|
#define _mm512_mask_getexp_round_pd(W, U, A, R) \
|
|
7538
|
-
(__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A), \
|
|
7539
|
-
|
|
7540
|
-
|
|
7542
|
+
((__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A), \
|
|
7543
|
+
(__v8df)(__m512d)(W), \
|
|
7544
|
+
(__mmask8)(U), (int)(R)))
|
|
7541
7545
|
|
|
7542
7546
|
#define _mm512_maskz_getexp_round_pd(U, A, R) \
|
|
7543
|
-
(__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A), \
|
|
7544
|
-
|
|
7545
|
-
|
|
7547
|
+
((__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A), \
|
|
7548
|
+
(__v8df)_mm512_setzero_pd(), \
|
|
7549
|
+
(__mmask8)(U), (int)(R)))
|
|
7546
7550
|
|
|
7547
7551
|
static __inline__ __m512d __DEFAULT_FN_ATTRS512
|
|
7548
7552
|
_mm512_getexp_pd (__m512d __A)
|
|
@@ -7572,19 +7576,19 @@ _mm512_maskz_getexp_pd (__mmask8 __U, __m512d __A)
|
|
|
7572
7576
|
}
|
|
7573
7577
|
|
|
7574
7578
|
#define _mm512_getexp_round_ps(A, R) \
|
|
7575
|
-
(__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A), \
|
|
7576
|
-
|
|
7577
|
-
|
|
7579
|
+
((__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A), \
|
|
7580
|
+
(__v16sf)_mm512_undefined_ps(), \
|
|
7581
|
+
(__mmask16)-1, (int)(R)))
|
|
7578
7582
|
|
|
7579
7583
|
#define _mm512_mask_getexp_round_ps(W, U, A, R) \
|
|
7580
|
-
(__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A), \
|
|
7581
|
-
|
|
7582
|
-
|
|
7584
|
+
((__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A), \
|
|
7585
|
+
(__v16sf)(__m512)(W), \
|
|
7586
|
+
(__mmask16)(U), (int)(R)))
|
|
7583
7587
|
|
|
7584
7588
|
#define _mm512_maskz_getexp_round_ps(U, A, R) \
|
|
7585
|
-
(__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A), \
|
|
7586
|
-
|
|
7587
|
-
|
|
7589
|
+
((__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A), \
|
|
7590
|
+
(__v16sf)_mm512_setzero_ps(), \
|
|
7591
|
+
(__mmask16)(U), (int)(R)))
|
|
7588
7592
|
|
|
7589
7593
|
static __inline__ __m512 __DEFAULT_FN_ATTRS512
|
|
7590
7594
|
_mm512_getexp_ps (__m512 __A)
|
|
@@ -7614,100 +7618,100 @@ _mm512_maskz_getexp_ps (__mmask16 __U, __m512 __A)
|
|
|
7614
7618
|
}
|
|
7615
7619
|
|
|
7616
7620
|
#define _mm512_i64gather_ps(index, addr, scale) \
|
|
7617
|
-
(__m256)__builtin_ia32_gatherdiv16sf((__v8sf)_mm256_undefined_ps(), \
|
|
7618
|
-
|
|
7619
|
-
|
|
7620
|
-
|
|
7621
|
+
((__m256)__builtin_ia32_gatherdiv16sf((__v8sf)_mm256_undefined_ps(), \
|
|
7622
|
+
(void const *)(addr), \
|
|
7623
|
+
(__v8di)(__m512i)(index), (__mmask8)-1, \
|
|
7624
|
+
(int)(scale)))
|
|
7621
7625
|
|
|
7622
7626
|
#define _mm512_mask_i64gather_ps(v1_old, mask, index, addr, scale) \
|
|
7623
|
-
(__m256)__builtin_ia32_gatherdiv16sf((__v8sf)(__m256)(v1_old),\
|
|
7624
|
-
(void const *)(addr), \
|
|
7625
|
-
(__v8di)(__m512i)(index), \
|
|
7626
|
-
(__mmask8)(mask), (int)(scale))
|
|
7627
|
-
|
|
7628
|
-
#define _mm512_i64gather_epi32(index, addr, scale) \
|
|
7629
|
-
(__m256i)__builtin_ia32_gatherdiv16si((__v8si)_mm256_undefined_si256(), \
|
|
7627
|
+
((__m256)__builtin_ia32_gatherdiv16sf((__v8sf)(__m256)(v1_old),\
|
|
7630
7628
|
(void const *)(addr), \
|
|
7631
7629
|
(__v8di)(__m512i)(index), \
|
|
7632
|
-
(__mmask8)
|
|
7630
|
+
(__mmask8)(mask), (int)(scale)))
|
|
7631
|
+
|
|
7632
|
+
#define _mm512_i64gather_epi32(index, addr, scale) \
|
|
7633
|
+
((__m256i)__builtin_ia32_gatherdiv16si((__v8si)_mm256_undefined_si256(), \
|
|
7634
|
+
(void const *)(addr), \
|
|
7635
|
+
(__v8di)(__m512i)(index), \
|
|
7636
|
+
(__mmask8)-1, (int)(scale)))
|
|
7633
7637
|
|
|
7634
7638
|
#define _mm512_mask_i64gather_epi32(v1_old, mask, index, addr, scale) \
|
|
7635
|
-
(__m256i)__builtin_ia32_gatherdiv16si((__v8si)(__m256i)(v1_old), \
|
|
7636
|
-
|
|
7637
|
-
|
|
7638
|
-
|
|
7639
|
+
((__m256i)__builtin_ia32_gatherdiv16si((__v8si)(__m256i)(v1_old), \
|
|
7640
|
+
(void const *)(addr), \
|
|
7641
|
+
(__v8di)(__m512i)(index), \
|
|
7642
|
+
(__mmask8)(mask), (int)(scale)))
|
|
7639
7643
|
|
|
7640
7644
|
#define _mm512_i64gather_pd(index, addr, scale) \
|
|
7641
|
-
(__m512d)__builtin_ia32_gatherdiv8df((__v8df)_mm512_undefined_pd(), \
|
|
7642
|
-
|
|
7643
|
-
|
|
7644
|
-
|
|
7645
|
+
((__m512d)__builtin_ia32_gatherdiv8df((__v8df)_mm512_undefined_pd(), \
|
|
7646
|
+
(void const *)(addr), \
|
|
7647
|
+
(__v8di)(__m512i)(index), (__mmask8)-1, \
|
|
7648
|
+
(int)(scale)))
|
|
7645
7649
|
|
|
7646
7650
|
#define _mm512_mask_i64gather_pd(v1_old, mask, index, addr, scale) \
|
|
7647
|
-
(__m512d)__builtin_ia32_gatherdiv8df((__v8df)(__m512d)(v1_old), \
|
|
7648
|
-
|
|
7649
|
-
|
|
7650
|
-
|
|
7651
|
+
((__m512d)__builtin_ia32_gatherdiv8df((__v8df)(__m512d)(v1_old), \
|
|
7652
|
+
(void const *)(addr), \
|
|
7653
|
+
(__v8di)(__m512i)(index), \
|
|
7654
|
+
(__mmask8)(mask), (int)(scale)))
|
|
7651
7655
|
|
|
7652
7656
|
#define _mm512_i64gather_epi64(index, addr, scale) \
|
|
7653
|
-
(__m512i)__builtin_ia32_gatherdiv8di((__v8di)_mm512_undefined_epi32(), \
|
|
7654
|
-
|
|
7655
|
-
|
|
7656
|
-
|
|
7657
|
+
((__m512i)__builtin_ia32_gatherdiv8di((__v8di)_mm512_undefined_epi32(), \
|
|
7658
|
+
(void const *)(addr), \
|
|
7659
|
+
(__v8di)(__m512i)(index), (__mmask8)-1, \
|
|
7660
|
+
(int)(scale)))
|
|
7657
7661
|
|
|
7658
7662
|
#define _mm512_mask_i64gather_epi64(v1_old, mask, index, addr, scale) \
|
|
7659
|
-
(__m512i)__builtin_ia32_gatherdiv8di((__v8di)(__m512i)(v1_old), \
|
|
7660
|
-
|
|
7661
|
-
|
|
7662
|
-
|
|
7663
|
+
((__m512i)__builtin_ia32_gatherdiv8di((__v8di)(__m512i)(v1_old), \
|
|
7664
|
+
(void const *)(addr), \
|
|
7665
|
+
(__v8di)(__m512i)(index), \
|
|
7666
|
+
(__mmask8)(mask), (int)(scale)))
|
|
7663
7667
|
|
|
7664
7668
|
#define _mm512_i32gather_ps(index, addr, scale) \
|
|
7665
|
-
(__m512)__builtin_ia32_gathersiv16sf((__v16sf)_mm512_undefined_ps(), \
|
|
7666
|
-
|
|
7667
|
-
|
|
7668
|
-
|
|
7669
|
+
((__m512)__builtin_ia32_gathersiv16sf((__v16sf)_mm512_undefined_ps(), \
|
|
7670
|
+
(void const *)(addr), \
|
|
7671
|
+
(__v16si)(__m512)(index), \
|
|
7672
|
+
(__mmask16)-1, (int)(scale)))
|
|
7669
7673
|
|
|
7670
7674
|
#define _mm512_mask_i32gather_ps(v1_old, mask, index, addr, scale) \
|
|
7671
|
-
(__m512)__builtin_ia32_gathersiv16sf((__v16sf)(__m512)(v1_old), \
|
|
7672
|
-
|
|
7673
|
-
|
|
7674
|
-
|
|
7675
|
+
((__m512)__builtin_ia32_gathersiv16sf((__v16sf)(__m512)(v1_old), \
|
|
7676
|
+
(void const *)(addr), \
|
|
7677
|
+
(__v16si)(__m512)(index), \
|
|
7678
|
+
(__mmask16)(mask), (int)(scale)))
|
|
7675
7679
|
|
|
7676
7680
|
#define _mm512_i32gather_epi32(index, addr, scale) \
|
|
7677
|
-
(__m512i)__builtin_ia32_gathersiv16si((__v16si)_mm512_undefined_epi32(), \
|
|
7678
|
-
|
|
7679
|
-
|
|
7680
|
-
|
|
7681
|
+
((__m512i)__builtin_ia32_gathersiv16si((__v16si)_mm512_undefined_epi32(), \
|
|
7682
|
+
(void const *)(addr), \
|
|
7683
|
+
(__v16si)(__m512i)(index), \
|
|
7684
|
+
(__mmask16)-1, (int)(scale)))
|
|
7681
7685
|
|
|
7682
7686
|
#define _mm512_mask_i32gather_epi32(v1_old, mask, index, addr, scale) \
|
|
7683
|
-
(__m512i)__builtin_ia32_gathersiv16si((__v16si)(__m512i)(v1_old), \
|
|
7684
|
-
|
|
7685
|
-
|
|
7686
|
-
|
|
7687
|
+
((__m512i)__builtin_ia32_gathersiv16si((__v16si)(__m512i)(v1_old), \
|
|
7688
|
+
(void const *)(addr), \
|
|
7689
|
+
(__v16si)(__m512i)(index), \
|
|
7690
|
+
(__mmask16)(mask), (int)(scale)))
|
|
7687
7691
|
|
|
7688
7692
|
#define _mm512_i32gather_pd(index, addr, scale) \
|
|
7689
|
-
(__m512d)__builtin_ia32_gathersiv8df((__v8df)_mm512_undefined_pd(), \
|
|
7690
|
-
|
|
7691
|
-
|
|
7692
|
-
|
|
7693
|
+
((__m512d)__builtin_ia32_gathersiv8df((__v8df)_mm512_undefined_pd(), \
|
|
7694
|
+
(void const *)(addr), \
|
|
7695
|
+
(__v8si)(__m256i)(index), (__mmask8)-1, \
|
|
7696
|
+
(int)(scale)))
|
|
7693
7697
|
|
|
7694
7698
|
#define _mm512_mask_i32gather_pd(v1_old, mask, index, addr, scale) \
|
|
7695
|
-
(__m512d)__builtin_ia32_gathersiv8df((__v8df)(__m512d)(v1_old), \
|
|
7696
|
-
|
|
7697
|
-
|
|
7698
|
-
|
|
7699
|
+
((__m512d)__builtin_ia32_gathersiv8df((__v8df)(__m512d)(v1_old), \
|
|
7700
|
+
(void const *)(addr), \
|
|
7701
|
+
(__v8si)(__m256i)(index), \
|
|
7702
|
+
(__mmask8)(mask), (int)(scale)))
|
|
7699
7703
|
|
|
7700
7704
|
#define _mm512_i32gather_epi64(index, addr, scale) \
|
|
7701
|
-
(__m512i)__builtin_ia32_gathersiv8di((__v8di)_mm512_undefined_epi32(), \
|
|
7702
|
-
|
|
7703
|
-
|
|
7704
|
-
|
|
7705
|
+
((__m512i)__builtin_ia32_gathersiv8di((__v8di)_mm512_undefined_epi32(), \
|
|
7706
|
+
(void const *)(addr), \
|
|
7707
|
+
(__v8si)(__m256i)(index), (__mmask8)-1, \
|
|
7708
|
+
(int)(scale)))
|
|
7705
7709
|
|
|
7706
7710
|
#define _mm512_mask_i32gather_epi64(v1_old, mask, index, addr, scale) \
|
|
7707
|
-
(__m512i)__builtin_ia32_gathersiv8di((__v8di)(__m512i)(v1_old), \
|
|
7708
|
-
|
|
7709
|
-
|
|
7710
|
-
|
|
7711
|
+
((__m512i)__builtin_ia32_gathersiv8di((__v8di)(__m512i)(v1_old), \
|
|
7712
|
+
(void const *)(addr), \
|
|
7713
|
+
(__v8si)(__m256i)(index), \
|
|
7714
|
+
(__mmask8)(mask), (int)(scale)))
|
|
7711
7715
|
|
|
7712
7716
|
#define _mm512_i64scatter_ps(addr, index, v1, scale) \
|
|
7713
7717
|
__builtin_ia32_scatterdiv16sf((void *)(addr), (__mmask8)-1, \
|
|
@@ -7800,16 +7804,16 @@ _mm_mask_fmadd_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
|
|
|
7800
7804
|
}
|
|
7801
7805
|
|
|
7802
7806
|
#define _mm_fmadd_round_ss(A, B, C, R) \
|
|
7803
|
-
(__m128)__builtin_ia32_vfmaddss3_mask((__v4sf)(__m128)(A), \
|
|
7804
|
-
|
|
7805
|
-
|
|
7806
|
-
|
|
7807
|
+
((__m128)__builtin_ia32_vfmaddss3_mask((__v4sf)(__m128)(A), \
|
|
7808
|
+
(__v4sf)(__m128)(B), \
|
|
7809
|
+
(__v4sf)(__m128)(C), (__mmask8)-1, \
|
|
7810
|
+
(int)(R)))
|
|
7807
7811
|
|
|
7808
7812
|
#define _mm_mask_fmadd_round_ss(W, U, A, B, R) \
|
|
7809
|
-
(__m128)__builtin_ia32_vfmaddss3_mask((__v4sf)(__m128)(W), \
|
|
7810
|
-
|
|
7811
|
-
|
|
7812
|
-
|
|
7813
|
+
((__m128)__builtin_ia32_vfmaddss3_mask((__v4sf)(__m128)(W), \
|
|
7814
|
+
(__v4sf)(__m128)(A), \
|
|
7815
|
+
(__v4sf)(__m128)(B), (__mmask8)(U), \
|
|
7816
|
+
(int)(R)))
|
|
7813
7817
|
|
|
7814
7818
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
7815
7819
|
_mm_maskz_fmadd_ss (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
|
|
@@ -7822,10 +7826,10 @@ _mm_maskz_fmadd_ss (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
|
|
|
7822
7826
|
}
|
|
7823
7827
|
|
|
7824
7828
|
#define _mm_maskz_fmadd_round_ss(U, A, B, C, R) \
|
|
7825
|
-
(__m128)__builtin_ia32_vfmaddss3_maskz((__v4sf)(__m128)(A), \
|
|
7826
|
-
|
|
7827
|
-
|
|
7828
|
-
|
|
7829
|
+
((__m128)__builtin_ia32_vfmaddss3_maskz((__v4sf)(__m128)(A), \
|
|
7830
|
+
(__v4sf)(__m128)(B), \
|
|
7831
|
+
(__v4sf)(__m128)(C), (__mmask8)(U), \
|
|
7832
|
+
(int)(R)))
|
|
7829
7833
|
|
|
7830
7834
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
7831
7835
|
_mm_mask3_fmadd_ss (__m128 __W, __m128 __X, __m128 __Y, __mmask8 __U)
|
|
@@ -7838,10 +7842,10 @@ _mm_mask3_fmadd_ss (__m128 __W, __m128 __X, __m128 __Y, __mmask8 __U)
|
|
|
7838
7842
|
}
|
|
7839
7843
|
|
|
7840
7844
|
#define _mm_mask3_fmadd_round_ss(W, X, Y, U, R) \
|
|
7841
|
-
(__m128)__builtin_ia32_vfmaddss3_mask3((__v4sf)(__m128)(W), \
|
|
7842
|
-
|
|
7843
|
-
|
|
7844
|
-
|
|
7845
|
+
((__m128)__builtin_ia32_vfmaddss3_mask3((__v4sf)(__m128)(W), \
|
|
7846
|
+
(__v4sf)(__m128)(X), \
|
|
7847
|
+
(__v4sf)(__m128)(Y), (__mmask8)(U), \
|
|
7848
|
+
(int)(R)))
|
|
7845
7849
|
|
|
7846
7850
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
7847
7851
|
_mm_mask_fmsub_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
|
|
@@ -7854,16 +7858,16 @@ _mm_mask_fmsub_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
|
|
|
7854
7858
|
}
|
|
7855
7859
|
|
|
7856
7860
|
#define _mm_fmsub_round_ss(A, B, C, R) \
|
|
7857
|
-
(__m128)__builtin_ia32_vfmaddss3_mask((__v4sf)(__m128)(A), \
|
|
7858
|
-
|
|
7859
|
-
|
|
7860
|
-
|
|
7861
|
+
((__m128)__builtin_ia32_vfmaddss3_mask((__v4sf)(__m128)(A), \
|
|
7862
|
+
(__v4sf)(__m128)(B), \
|
|
7863
|
+
-(__v4sf)(__m128)(C), (__mmask8)-1, \
|
|
7864
|
+
(int)(R)))
|
|
7861
7865
|
|
|
7862
7866
|
#define _mm_mask_fmsub_round_ss(W, U, A, B, R) \
|
|
7863
|
-
(__m128)__builtin_ia32_vfmaddss3_mask((__v4sf)(__m128)(W), \
|
|
7864
|
-
|
|
7865
|
-
|
|
7866
|
-
|
|
7867
|
+
((__m128)__builtin_ia32_vfmaddss3_mask((__v4sf)(__m128)(W), \
|
|
7868
|
+
(__v4sf)(__m128)(A), \
|
|
7869
|
+
-(__v4sf)(__m128)(B), (__mmask8)(U), \
|
|
7870
|
+
(int)(R)))
|
|
7867
7871
|
|
|
7868
7872
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
7869
7873
|
_mm_maskz_fmsub_ss (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
|
|
@@ -7876,10 +7880,10 @@ _mm_maskz_fmsub_ss (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
|
|
|
7876
7880
|
}
|
|
7877
7881
|
|
|
7878
7882
|
#define _mm_maskz_fmsub_round_ss(U, A, B, C, R) \
|
|
7879
|
-
(__m128)__builtin_ia32_vfmaddss3_maskz((__v4sf)(__m128)(A), \
|
|
7880
|
-
|
|
7881
|
-
|
|
7882
|
-
|
|
7883
|
+
((__m128)__builtin_ia32_vfmaddss3_maskz((__v4sf)(__m128)(A), \
|
|
7884
|
+
(__v4sf)(__m128)(B), \
|
|
7885
|
+
-(__v4sf)(__m128)(C), (__mmask8)(U), \
|
|
7886
|
+
(int)(R)))
|
|
7883
7887
|
|
|
7884
7888
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
7885
7889
|
_mm_mask3_fmsub_ss (__m128 __W, __m128 __X, __m128 __Y, __mmask8 __U)
|
|
@@ -7892,10 +7896,10 @@ _mm_mask3_fmsub_ss (__m128 __W, __m128 __X, __m128 __Y, __mmask8 __U)
|
|
|
7892
7896
|
}
|
|
7893
7897
|
|
|
7894
7898
|
#define _mm_mask3_fmsub_round_ss(W, X, Y, U, R) \
|
|
7895
|
-
(__m128)__builtin_ia32_vfmsubss3_mask3((__v4sf)(__m128)(W), \
|
|
7896
|
-
|
|
7897
|
-
|
|
7898
|
-
|
|
7899
|
+
((__m128)__builtin_ia32_vfmsubss3_mask3((__v4sf)(__m128)(W), \
|
|
7900
|
+
(__v4sf)(__m128)(X), \
|
|
7901
|
+
(__v4sf)(__m128)(Y), (__mmask8)(U), \
|
|
7902
|
+
(int)(R)))
|
|
7899
7903
|
|
|
7900
7904
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
7901
7905
|
_mm_mask_fnmadd_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
|
|
@@ -7908,16 +7912,16 @@ _mm_mask_fnmadd_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
|
|
|
7908
7912
|
}
|
|
7909
7913
|
|
|
7910
7914
|
#define _mm_fnmadd_round_ss(A, B, C, R) \
|
|
7911
|
-
(__m128)__builtin_ia32_vfmaddss3_mask((__v4sf)(__m128)(A), \
|
|
7912
|
-
|
|
7913
|
-
|
|
7914
|
-
|
|
7915
|
+
((__m128)__builtin_ia32_vfmaddss3_mask((__v4sf)(__m128)(A), \
|
|
7916
|
+
-(__v4sf)(__m128)(B), \
|
|
7917
|
+
(__v4sf)(__m128)(C), (__mmask8)-1, \
|
|
7918
|
+
(int)(R)))
|
|
7915
7919
|
|
|
7916
7920
|
#define _mm_mask_fnmadd_round_ss(W, U, A, B, R) \
|
|
7917
|
-
(__m128)__builtin_ia32_vfmaddss3_mask((__v4sf)(__m128)(W), \
|
|
7918
|
-
|
|
7919
|
-
|
|
7920
|
-
|
|
7921
|
+
((__m128)__builtin_ia32_vfmaddss3_mask((__v4sf)(__m128)(W), \
|
|
7922
|
+
-(__v4sf)(__m128)(A), \
|
|
7923
|
+
(__v4sf)(__m128)(B), (__mmask8)(U), \
|
|
7924
|
+
(int)(R)))
|
|
7921
7925
|
|
|
7922
7926
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
7923
7927
|
_mm_maskz_fnmadd_ss (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
|
|
@@ -7930,10 +7934,10 @@ _mm_maskz_fnmadd_ss (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
|
|
|
7930
7934
|
}
|
|
7931
7935
|
|
|
7932
7936
|
#define _mm_maskz_fnmadd_round_ss(U, A, B, C, R) \
|
|
7933
|
-
(__m128)__builtin_ia32_vfmaddss3_maskz((__v4sf)(__m128)(A), \
|
|
7934
|
-
|
|
7935
|
-
|
|
7936
|
-
|
|
7937
|
+
((__m128)__builtin_ia32_vfmaddss3_maskz((__v4sf)(__m128)(A), \
|
|
7938
|
+
-(__v4sf)(__m128)(B), \
|
|
7939
|
+
(__v4sf)(__m128)(C), (__mmask8)(U), \
|
|
7940
|
+
(int)(R)))
|
|
7937
7941
|
|
|
7938
7942
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
7939
7943
|
_mm_mask3_fnmadd_ss (__m128 __W, __m128 __X, __m128 __Y, __mmask8 __U)
|
|
@@ -7946,10 +7950,10 @@ _mm_mask3_fnmadd_ss (__m128 __W, __m128 __X, __m128 __Y, __mmask8 __U)
|
|
|
7946
7950
|
}
|
|
7947
7951
|
|
|
7948
7952
|
#define _mm_mask3_fnmadd_round_ss(W, X, Y, U, R) \
|
|
7949
|
-
(__m128)__builtin_ia32_vfmaddss3_mask3((__v4sf)(__m128)(W), \
|
|
7950
|
-
|
|
7951
|
-
|
|
7952
|
-
|
|
7953
|
+
((__m128)__builtin_ia32_vfmaddss3_mask3((__v4sf)(__m128)(W), \
|
|
7954
|
+
-(__v4sf)(__m128)(X), \
|
|
7955
|
+
(__v4sf)(__m128)(Y), (__mmask8)(U), \
|
|
7956
|
+
(int)(R)))
|
|
7953
7957
|
|
|
7954
7958
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
7955
7959
|
_mm_mask_fnmsub_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
|
|
@@ -7962,16 +7966,16 @@ _mm_mask_fnmsub_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
|
|
|
7962
7966
|
}
|
|
7963
7967
|
|
|
7964
7968
|
#define _mm_fnmsub_round_ss(A, B, C, R) \
|
|
7965
|
-
(__m128)__builtin_ia32_vfmaddss3_mask((__v4sf)(__m128)(A), \
|
|
7966
|
-
|
|
7967
|
-
|
|
7968
|
-
|
|
7969
|
+
((__m128)__builtin_ia32_vfmaddss3_mask((__v4sf)(__m128)(A), \
|
|
7970
|
+
-(__v4sf)(__m128)(B), \
|
|
7971
|
+
-(__v4sf)(__m128)(C), (__mmask8)-1, \
|
|
7972
|
+
(int)(R)))
|
|
7969
7973
|
|
|
7970
7974
|
#define _mm_mask_fnmsub_round_ss(W, U, A, B, R) \
|
|
7971
|
-
(__m128)__builtin_ia32_vfmaddss3_mask((__v4sf)(__m128)(W), \
|
|
7972
|
-
|
|
7973
|
-
|
|
7974
|
-
|
|
7975
|
+
((__m128)__builtin_ia32_vfmaddss3_mask((__v4sf)(__m128)(W), \
|
|
7976
|
+
-(__v4sf)(__m128)(A), \
|
|
7977
|
+
-(__v4sf)(__m128)(B), (__mmask8)(U), \
|
|
7978
|
+
(int)(R)))
|
|
7975
7979
|
|
|
7976
7980
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
7977
7981
|
_mm_maskz_fnmsub_ss (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
|
|
@@ -7984,10 +7988,10 @@ _mm_maskz_fnmsub_ss (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
|
|
|
7984
7988
|
}
|
|
7985
7989
|
|
|
7986
7990
|
#define _mm_maskz_fnmsub_round_ss(U, A, B, C, R) \
|
|
7987
|
-
(__m128)__builtin_ia32_vfmaddss3_maskz((__v4sf)(__m128)(A), \
|
|
7988
|
-
|
|
7989
|
-
|
|
7990
|
-
|
|
7991
|
+
((__m128)__builtin_ia32_vfmaddss3_maskz((__v4sf)(__m128)(A), \
|
|
7992
|
+
-(__v4sf)(__m128)(B), \
|
|
7993
|
+
-(__v4sf)(__m128)(C), (__mmask8)(U), \
|
|
7994
|
+
(int)(R)))
|
|
7991
7995
|
|
|
7992
7996
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
7993
7997
|
_mm_mask3_fnmsub_ss (__m128 __W, __m128 __X, __m128 __Y, __mmask8 __U)
|
|
@@ -8000,10 +8004,10 @@ _mm_mask3_fnmsub_ss (__m128 __W, __m128 __X, __m128 __Y, __mmask8 __U)
|
|
|
8000
8004
|
}
|
|
8001
8005
|
|
|
8002
8006
|
#define _mm_mask3_fnmsub_round_ss(W, X, Y, U, R) \
|
|
8003
|
-
(__m128)__builtin_ia32_vfmsubss3_mask3((__v4sf)(__m128)(W), \
|
|
8004
|
-
|
|
8005
|
-
|
|
8006
|
-
|
|
8007
|
+
((__m128)__builtin_ia32_vfmsubss3_mask3((__v4sf)(__m128)(W), \
|
|
8008
|
+
-(__v4sf)(__m128)(X), \
|
|
8009
|
+
(__v4sf)(__m128)(Y), (__mmask8)(U), \
|
|
8010
|
+
(int)(R)))
|
|
8007
8011
|
|
|
8008
8012
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
8009
8013
|
_mm_mask_fmadd_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
|
|
@@ -8016,16 +8020,16 @@ _mm_mask_fmadd_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
|
|
|
8016
8020
|
}
|
|
8017
8021
|
|
|
8018
8022
|
#define _mm_fmadd_round_sd(A, B, C, R) \
|
|
8019
|
-
(__m128d)__builtin_ia32_vfmaddsd3_mask((__v2df)(__m128d)(A), \
|
|
8020
|
-
|
|
8021
|
-
|
|
8022
|
-
|
|
8023
|
+
((__m128d)__builtin_ia32_vfmaddsd3_mask((__v2df)(__m128d)(A), \
|
|
8024
|
+
(__v2df)(__m128d)(B), \
|
|
8025
|
+
(__v2df)(__m128d)(C), (__mmask8)-1, \
|
|
8026
|
+
(int)(R)))
|
|
8023
8027
|
|
|
8024
8028
|
#define _mm_mask_fmadd_round_sd(W, U, A, B, R) \
|
|
8025
|
-
(__m128d)__builtin_ia32_vfmaddsd3_mask((__v2df)(__m128d)(W), \
|
|
8026
|
-
|
|
8027
|
-
|
|
8028
|
-
|
|
8029
|
+
((__m128d)__builtin_ia32_vfmaddsd3_mask((__v2df)(__m128d)(W), \
|
|
8030
|
+
(__v2df)(__m128d)(A), \
|
|
8031
|
+
(__v2df)(__m128d)(B), (__mmask8)(U), \
|
|
8032
|
+
(int)(R)))
|
|
8029
8033
|
|
|
8030
8034
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
8031
8035
|
_mm_maskz_fmadd_sd (__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
|
|
@@ -8038,10 +8042,10 @@ _mm_maskz_fmadd_sd (__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
|
|
|
8038
8042
|
}
|
|
8039
8043
|
|
|
8040
8044
|
#define _mm_maskz_fmadd_round_sd(U, A, B, C, R) \
|
|
8041
|
-
(__m128d)__builtin_ia32_vfmaddsd3_maskz((__v2df)(__m128d)(A), \
|
|
8042
|
-
|
|
8043
|
-
|
|
8044
|
-
|
|
8045
|
+
((__m128d)__builtin_ia32_vfmaddsd3_maskz((__v2df)(__m128d)(A), \
|
|
8046
|
+
(__v2df)(__m128d)(B), \
|
|
8047
|
+
(__v2df)(__m128d)(C), (__mmask8)(U), \
|
|
8048
|
+
(int)(R)))
|
|
8045
8049
|
|
|
8046
8050
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
8047
8051
|
_mm_mask3_fmadd_sd (__m128d __W, __m128d __X, __m128d __Y, __mmask8 __U)
|
|
@@ -8054,10 +8058,10 @@ _mm_mask3_fmadd_sd (__m128d __W, __m128d __X, __m128d __Y, __mmask8 __U)
|
|
|
8054
8058
|
}
|
|
8055
8059
|
|
|
8056
8060
|
#define _mm_mask3_fmadd_round_sd(W, X, Y, U, R) \
|
|
8057
|
-
(__m128d)__builtin_ia32_vfmaddsd3_mask3((__v2df)(__m128d)(W), \
|
|
8058
|
-
|
|
8059
|
-
|
|
8060
|
-
|
|
8061
|
+
((__m128d)__builtin_ia32_vfmaddsd3_mask3((__v2df)(__m128d)(W), \
|
|
8062
|
+
(__v2df)(__m128d)(X), \
|
|
8063
|
+
(__v2df)(__m128d)(Y), (__mmask8)(U), \
|
|
8064
|
+
(int)(R)))
|
|
8061
8065
|
|
|
8062
8066
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
8063
8067
|
_mm_mask_fmsub_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
|
|
@@ -8070,16 +8074,16 @@ _mm_mask_fmsub_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
|
|
|
8070
8074
|
}
|
|
8071
8075
|
|
|
8072
8076
|
#define _mm_fmsub_round_sd(A, B, C, R) \
|
|
8073
|
-
(__m128d)__builtin_ia32_vfmaddsd3_mask((__v2df)(__m128d)(A), \
|
|
8074
|
-
|
|
8075
|
-
|
|
8076
|
-
|
|
8077
|
+
((__m128d)__builtin_ia32_vfmaddsd3_mask((__v2df)(__m128d)(A), \
|
|
8078
|
+
(__v2df)(__m128d)(B), \
|
|
8079
|
+
-(__v2df)(__m128d)(C), (__mmask8)-1, \
|
|
8080
|
+
(int)(R)))
|
|
8077
8081
|
|
|
8078
8082
|
#define _mm_mask_fmsub_round_sd(W, U, A, B, R) \
|
|
8079
|
-
(__m128d)__builtin_ia32_vfmaddsd3_mask((__v2df)(__m128d)(W), \
|
|
8080
|
-
|
|
8081
|
-
|
|
8082
|
-
|
|
8083
|
+
((__m128d)__builtin_ia32_vfmaddsd3_mask((__v2df)(__m128d)(W), \
|
|
8084
|
+
(__v2df)(__m128d)(A), \
|
|
8085
|
+
-(__v2df)(__m128d)(B), (__mmask8)(U), \
|
|
8086
|
+
(int)(R)))
|
|
8083
8087
|
|
|
8084
8088
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
8085
8089
|
_mm_maskz_fmsub_sd (__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
|
|
@@ -8092,10 +8096,10 @@ _mm_maskz_fmsub_sd (__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
|
|
|
8092
8096
|
}
|
|
8093
8097
|
|
|
8094
8098
|
#define _mm_maskz_fmsub_round_sd(U, A, B, C, R) \
|
|
8095
|
-
(__m128d)__builtin_ia32_vfmaddsd3_maskz((__v2df)(__m128d)(A), \
|
|
8096
|
-
|
|
8097
|
-
|
|
8098
|
-
|
|
8099
|
+
((__m128d)__builtin_ia32_vfmaddsd3_maskz((__v2df)(__m128d)(A), \
|
|
8100
|
+
(__v2df)(__m128d)(B), \
|
|
8101
|
+
-(__v2df)(__m128d)(C), \
|
|
8102
|
+
(__mmask8)(U), (int)(R)))
|
|
8099
8103
|
|
|
8100
8104
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
8101
8105
|
_mm_mask3_fmsub_sd (__m128d __W, __m128d __X, __m128d __Y, __mmask8 __U)
|
|
@@ -8108,10 +8112,10 @@ _mm_mask3_fmsub_sd (__m128d __W, __m128d __X, __m128d __Y, __mmask8 __U)
|
|
|
8108
8112
|
}
|
|
8109
8113
|
|
|
8110
8114
|
#define _mm_mask3_fmsub_round_sd(W, X, Y, U, R) \
|
|
8111
|
-
(__m128d)__builtin_ia32_vfmsubsd3_mask3((__v2df)(__m128d)(W), \
|
|
8112
|
-
|
|
8113
|
-
|
|
8114
|
-
|
|
8115
|
+
((__m128d)__builtin_ia32_vfmsubsd3_mask3((__v2df)(__m128d)(W), \
|
|
8116
|
+
(__v2df)(__m128d)(X), \
|
|
8117
|
+
(__v2df)(__m128d)(Y), \
|
|
8118
|
+
(__mmask8)(U), (int)(R)))
|
|
8115
8119
|
|
|
8116
8120
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
8117
8121
|
_mm_mask_fnmadd_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
|
|
@@ -8124,16 +8128,16 @@ _mm_mask_fnmadd_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
|
|
|
8124
8128
|
}
|
|
8125
8129
|
|
|
8126
8130
|
#define _mm_fnmadd_round_sd(A, B, C, R) \
|
|
8127
|
-
(__m128d)__builtin_ia32_vfmaddsd3_mask((__v2df)(__m128d)(A), \
|
|
8128
|
-
|
|
8129
|
-
|
|
8130
|
-
|
|
8131
|
+
((__m128d)__builtin_ia32_vfmaddsd3_mask((__v2df)(__m128d)(A), \
|
|
8132
|
+
-(__v2df)(__m128d)(B), \
|
|
8133
|
+
(__v2df)(__m128d)(C), (__mmask8)-1, \
|
|
8134
|
+
(int)(R)))
|
|
8131
8135
|
|
|
8132
8136
|
#define _mm_mask_fnmadd_round_sd(W, U, A, B, R) \
|
|
8133
|
-
(__m128d)__builtin_ia32_vfmaddsd3_mask((__v2df)(__m128d)(W), \
|
|
8134
|
-
|
|
8135
|
-
|
|
8136
|
-
|
|
8137
|
+
((__m128d)__builtin_ia32_vfmaddsd3_mask((__v2df)(__m128d)(W), \
|
|
8138
|
+
-(__v2df)(__m128d)(A), \
|
|
8139
|
+
(__v2df)(__m128d)(B), (__mmask8)(U), \
|
|
8140
|
+
(int)(R)))
|
|
8137
8141
|
|
|
8138
8142
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
8139
8143
|
_mm_maskz_fnmadd_sd (__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
|
|
@@ -8146,10 +8150,10 @@ _mm_maskz_fnmadd_sd (__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
|
|
|
8146
8150
|
}
|
|
8147
8151
|
|
|
8148
8152
|
#define _mm_maskz_fnmadd_round_sd(U, A, B, C, R) \
|
|
8149
|
-
(__m128d)__builtin_ia32_vfmaddsd3_maskz((__v2df)(__m128d)(A), \
|
|
8150
|
-
|
|
8151
|
-
|
|
8152
|
-
|
|
8153
|
+
((__m128d)__builtin_ia32_vfmaddsd3_maskz((__v2df)(__m128d)(A), \
|
|
8154
|
+
-(__v2df)(__m128d)(B), \
|
|
8155
|
+
(__v2df)(__m128d)(C), (__mmask8)(U), \
|
|
8156
|
+
(int)(R)))
|
|
8153
8157
|
|
|
8154
8158
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
8155
8159
|
_mm_mask3_fnmadd_sd (__m128d __W, __m128d __X, __m128d __Y, __mmask8 __U)
|
|
@@ -8162,10 +8166,10 @@ _mm_mask3_fnmadd_sd (__m128d __W, __m128d __X, __m128d __Y, __mmask8 __U)
|
|
|
8162
8166
|
}
|
|
8163
8167
|
|
|
8164
8168
|
#define _mm_mask3_fnmadd_round_sd(W, X, Y, U, R) \
|
|
8165
|
-
(__m128d)__builtin_ia32_vfmaddsd3_mask3((__v2df)(__m128d)(W), \
|
|
8166
|
-
|
|
8167
|
-
|
|
8168
|
-
|
|
8169
|
+
((__m128d)__builtin_ia32_vfmaddsd3_mask3((__v2df)(__m128d)(W), \
|
|
8170
|
+
-(__v2df)(__m128d)(X), \
|
|
8171
|
+
(__v2df)(__m128d)(Y), (__mmask8)(U), \
|
|
8172
|
+
(int)(R)))
|
|
8169
8173
|
|
|
8170
8174
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
8171
8175
|
_mm_mask_fnmsub_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
|
|
@@ -8178,16 +8182,16 @@ _mm_mask_fnmsub_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
|
|
|
8178
8182
|
}
|
|
8179
8183
|
|
|
8180
8184
|
#define _mm_fnmsub_round_sd(A, B, C, R) \
|
|
8181
|
-
(__m128d)__builtin_ia32_vfmaddsd3_mask((__v2df)(__m128d)(A), \
|
|
8182
|
-
|
|
8183
|
-
|
|
8184
|
-
|
|
8185
|
+
((__m128d)__builtin_ia32_vfmaddsd3_mask((__v2df)(__m128d)(A), \
|
|
8186
|
+
-(__v2df)(__m128d)(B), \
|
|
8187
|
+
-(__v2df)(__m128d)(C), (__mmask8)-1, \
|
|
8188
|
+
(int)(R)))
|
|
8185
8189
|
|
|
8186
8190
|
#define _mm_mask_fnmsub_round_sd(W, U, A, B, R) \
|
|
8187
|
-
(__m128d)__builtin_ia32_vfmaddsd3_mask((__v2df)(__m128d)(W), \
|
|
8188
|
-
|
|
8189
|
-
|
|
8190
|
-
|
|
8191
|
+
((__m128d)__builtin_ia32_vfmaddsd3_mask((__v2df)(__m128d)(W), \
|
|
8192
|
+
-(__v2df)(__m128d)(A), \
|
|
8193
|
+
-(__v2df)(__m128d)(B), (__mmask8)(U), \
|
|
8194
|
+
(int)(R)))
|
|
8191
8195
|
|
|
8192
8196
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
8193
8197
|
_mm_maskz_fnmsub_sd (__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
|
|
@@ -8200,11 +8204,11 @@ _mm_maskz_fnmsub_sd (__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
|
|
|
8200
8204
|
}
|
|
8201
8205
|
|
|
8202
8206
|
#define _mm_maskz_fnmsub_round_sd(U, A, B, C, R) \
|
|
8203
|
-
(__m128d)__builtin_ia32_vfmaddsd3_maskz((__v2df)(__m128d)(A), \
|
|
8204
|
-
|
|
8205
|
-
|
|
8206
|
-
|
|
8207
|
-
|
|
8207
|
+
((__m128d)__builtin_ia32_vfmaddsd3_maskz((__v2df)(__m128d)(A), \
|
|
8208
|
+
-(__v2df)(__m128d)(B), \
|
|
8209
|
+
-(__v2df)(__m128d)(C), \
|
|
8210
|
+
(__mmask8)(U), \
|
|
8211
|
+
(int)(R)))
|
|
8208
8212
|
|
|
8209
8213
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
8210
8214
|
_mm_mask3_fnmsub_sd (__m128d __W, __m128d __X, __m128d __Y, __mmask8 __U)
|
|
@@ -8217,36 +8221,36 @@ _mm_mask3_fnmsub_sd (__m128d __W, __m128d __X, __m128d __Y, __mmask8 __U)
|
|
|
8217
8221
|
}
|
|
8218
8222
|
|
|
8219
8223
|
#define _mm_mask3_fnmsub_round_sd(W, X, Y, U, R) \
|
|
8220
|
-
(__m128d)__builtin_ia32_vfmsubsd3_mask3((__v2df)(__m128d)(W), \
|
|
8221
|
-
|
|
8222
|
-
|
|
8223
|
-
|
|
8224
|
+
((__m128d)__builtin_ia32_vfmsubsd3_mask3((__v2df)(__m128d)(W), \
|
|
8225
|
+
-(__v2df)(__m128d)(X), \
|
|
8226
|
+
(__v2df)(__m128d)(Y), \
|
|
8227
|
+
(__mmask8)(U), (int)(R)))
|
|
8224
8228
|
|
|
8225
8229
|
#define _mm512_permutex_pd(X, C) \
|
|
8226
|
-
(__m512d)__builtin_ia32_permdf512((__v8df)(__m512d)(X), (int)(C))
|
|
8230
|
+
((__m512d)__builtin_ia32_permdf512((__v8df)(__m512d)(X), (int)(C)))
|
|
8227
8231
|
|
|
8228
8232
|
#define _mm512_mask_permutex_pd(W, U, X, C) \
|
|
8229
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
8230
|
-
|
|
8231
|
-
|
|
8233
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
8234
|
+
(__v8df)_mm512_permutex_pd((X), (C)), \
|
|
8235
|
+
(__v8df)(__m512d)(W)))
|
|
8232
8236
|
|
|
8233
8237
|
#define _mm512_maskz_permutex_pd(U, X, C) \
|
|
8234
|
-
(__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
8235
|
-
|
|
8236
|
-
|
|
8238
|
+
((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
|
|
8239
|
+
(__v8df)_mm512_permutex_pd((X), (C)), \
|
|
8240
|
+
(__v8df)_mm512_setzero_pd()))
|
|
8237
8241
|
|
|
8238
8242
|
#define _mm512_permutex_epi64(X, C) \
|
|
8239
|
-
(__m512i)__builtin_ia32_permdi512((__v8di)(__m512i)(X), (int)(C))
|
|
8243
|
+
((__m512i)__builtin_ia32_permdi512((__v8di)(__m512i)(X), (int)(C)))
|
|
8240
8244
|
|
|
8241
8245
|
#define _mm512_mask_permutex_epi64(W, U, X, C) \
|
|
8242
|
-
(__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
8243
|
-
|
|
8244
|
-
|
|
8246
|
+
((__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
8247
|
+
(__v8di)_mm512_permutex_epi64((X), (C)), \
|
|
8248
|
+
(__v8di)(__m512i)(W)))
|
|
8245
8249
|
|
|
8246
8250
|
#define _mm512_maskz_permutex_epi64(U, X, C) \
|
|
8247
|
-
(__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
8248
|
-
|
|
8249
|
-
|
|
8251
|
+
((__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
|
8252
|
+
(__v8di)_mm512_permutex_epi64((X), (C)), \
|
|
8253
|
+
(__v8di)_mm512_setzero_si512()))
|
|
8250
8254
|
|
|
8251
8255
|
static __inline__ __m512d __DEFAULT_FN_ATTRS512
|
|
8252
8256
|
_mm512_permutexvar_pd (__m512i __X, __m512d __Y)
|
|
@@ -8416,10 +8420,10 @@ _mm512_kxor (__mmask16 __A, __mmask16 __B)
|
|
|
8416
8420
|
#define _kxor_mask16 _mm512_kxor
|
|
8417
8421
|
|
|
8418
8422
|
#define _kshiftli_mask16(A, I) \
|
|
8419
|
-
(__mmask16)__builtin_ia32_kshiftlihi((__mmask16)(A), (unsigned int)(I))
|
|
8423
|
+
((__mmask16)__builtin_ia32_kshiftlihi((__mmask16)(A), (unsigned int)(I)))
|
|
8420
8424
|
|
|
8421
8425
|
#define _kshiftri_mask16(A, I) \
|
|
8422
|
-
(__mmask16)__builtin_ia32_kshiftrihi((__mmask16)(A), (unsigned int)(I))
|
|
8426
|
+
((__mmask16)__builtin_ia32_kshiftrihi((__mmask16)(A), (unsigned int)(I)))
|
|
8423
8427
|
|
|
8424
8428
|
static __inline__ unsigned int __DEFAULT_FN_ATTRS
|
|
8425
8429
|
_cvtmask16_u32(__mmask16 __A) {
|
|
@@ -8538,48 +8542,48 @@ _mm512_maskz_compress_epi32 (__mmask16 __U, __m512i __A)
|
|
|
8538
8542
|
}
|
|
8539
8543
|
|
|
8540
8544
|
#define _mm_cmp_round_ss_mask(X, Y, P, R) \
|
|
8541
|
-
(__mmask8)__builtin_ia32_cmpss_mask((__v4sf)(__m128)(X), \
|
|
8542
|
-
|
|
8543
|
-
|
|
8545
|
+
((__mmask8)__builtin_ia32_cmpss_mask((__v4sf)(__m128)(X), \
|
|
8546
|
+
(__v4sf)(__m128)(Y), (int)(P), \
|
|
8547
|
+
(__mmask8)-1, (int)(R)))
|
|
8544
8548
|
|
|
8545
8549
|
#define _mm_mask_cmp_round_ss_mask(M, X, Y, P, R) \
|
|
8546
|
-
(__mmask8)__builtin_ia32_cmpss_mask((__v4sf)(__m128)(X), \
|
|
8547
|
-
|
|
8548
|
-
|
|
8550
|
+
((__mmask8)__builtin_ia32_cmpss_mask((__v4sf)(__m128)(X), \
|
|
8551
|
+
(__v4sf)(__m128)(Y), (int)(P), \
|
|
8552
|
+
(__mmask8)(M), (int)(R)))
|
|
8549
8553
|
|
|
8550
8554
|
#define _mm_cmp_ss_mask(X, Y, P) \
|
|
8551
|
-
(__mmask8)__builtin_ia32_cmpss_mask((__v4sf)(__m128)(X), \
|
|
8552
|
-
|
|
8553
|
-
|
|
8554
|
-
|
|
8555
|
+
((__mmask8)__builtin_ia32_cmpss_mask((__v4sf)(__m128)(X), \
|
|
8556
|
+
(__v4sf)(__m128)(Y), (int)(P), \
|
|
8557
|
+
(__mmask8)-1, \
|
|
8558
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
8555
8559
|
|
|
8556
8560
|
#define _mm_mask_cmp_ss_mask(M, X, Y, P) \
|
|
8557
|
-
(__mmask8)__builtin_ia32_cmpss_mask((__v4sf)(__m128)(X), \
|
|
8558
|
-
|
|
8559
|
-
|
|
8560
|
-
|
|
8561
|
+
((__mmask8)__builtin_ia32_cmpss_mask((__v4sf)(__m128)(X), \
|
|
8562
|
+
(__v4sf)(__m128)(Y), (int)(P), \
|
|
8563
|
+
(__mmask8)(M), \
|
|
8564
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
8561
8565
|
|
|
8562
8566
|
#define _mm_cmp_round_sd_mask(X, Y, P, R) \
|
|
8563
|
-
(__mmask8)__builtin_ia32_cmpsd_mask((__v2df)(__m128d)(X), \
|
|
8564
|
-
|
|
8565
|
-
|
|
8567
|
+
((__mmask8)__builtin_ia32_cmpsd_mask((__v2df)(__m128d)(X), \
|
|
8568
|
+
(__v2df)(__m128d)(Y), (int)(P), \
|
|
8569
|
+
(__mmask8)-1, (int)(R)))
|
|
8566
8570
|
|
|
8567
8571
|
#define _mm_mask_cmp_round_sd_mask(M, X, Y, P, R) \
|
|
8568
|
-
(__mmask8)__builtin_ia32_cmpsd_mask((__v2df)(__m128d)(X), \
|
|
8569
|
-
|
|
8570
|
-
|
|
8572
|
+
((__mmask8)__builtin_ia32_cmpsd_mask((__v2df)(__m128d)(X), \
|
|
8573
|
+
(__v2df)(__m128d)(Y), (int)(P), \
|
|
8574
|
+
(__mmask8)(M), (int)(R)))
|
|
8571
8575
|
|
|
8572
8576
|
#define _mm_cmp_sd_mask(X, Y, P) \
|
|
8573
|
-
(__mmask8)__builtin_ia32_cmpsd_mask((__v2df)(__m128d)(X), \
|
|
8574
|
-
|
|
8575
|
-
|
|
8576
|
-
|
|
8577
|
+
((__mmask8)__builtin_ia32_cmpsd_mask((__v2df)(__m128d)(X), \
|
|
8578
|
+
(__v2df)(__m128d)(Y), (int)(P), \
|
|
8579
|
+
(__mmask8)-1, \
|
|
8580
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
8577
8581
|
|
|
8578
8582
|
#define _mm_mask_cmp_sd_mask(M, X, Y, P) \
|
|
8579
|
-
(__mmask8)__builtin_ia32_cmpsd_mask((__v2df)(__m128d)(X), \
|
|
8580
|
-
|
|
8581
|
-
|
|
8582
|
-
|
|
8583
|
+
((__mmask8)__builtin_ia32_cmpsd_mask((__v2df)(__m128d)(X), \
|
|
8584
|
+
(__v2df)(__m128d)(Y), (int)(P), \
|
|
8585
|
+
(__mmask8)(M), \
|
|
8586
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
8583
8587
|
|
|
8584
8588
|
/* Bit Test */
|
|
8585
8589
|
|
|
@@ -8760,17 +8764,17 @@ _mm_maskz_load_sd (__mmask8 __U, const double* __A)
|
|
|
8760
8764
|
}
|
|
8761
8765
|
|
|
8762
8766
|
#define _mm512_shuffle_epi32(A, I) \
|
|
8763
|
-
(__m512i)__builtin_ia32_pshufd512((__v16si)(__m512i)(A), (int)(I))
|
|
8767
|
+
((__m512i)__builtin_ia32_pshufd512((__v16si)(__m512i)(A), (int)(I)))
|
|
8764
8768
|
|
|
8765
8769
|
#define _mm512_mask_shuffle_epi32(W, U, A, I) \
|
|
8766
|
-
(__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
8767
|
-
|
|
8768
|
-
|
|
8770
|
+
((__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
8771
|
+
(__v16si)_mm512_shuffle_epi32((A), (I)), \
|
|
8772
|
+
(__v16si)(__m512i)(W)))
|
|
8769
8773
|
|
|
8770
8774
|
#define _mm512_maskz_shuffle_epi32(U, A, I) \
|
|
8771
|
-
(__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
8772
|
-
|
|
8773
|
-
|
|
8775
|
+
((__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
|
8776
|
+
(__v16si)_mm512_shuffle_epi32((A), (I)), \
|
|
8777
|
+
(__v16si)_mm512_setzero_si512()))
|
|
8774
8778
|
|
|
8775
8779
|
static __inline__ __m512d __DEFAULT_FN_ATTRS512
|
|
8776
8780
|
_mm512_mask_expand_pd (__m512d __W, __mmask8 __U, __m512d __A)
|
|
@@ -8901,19 +8905,19 @@ _mm512_maskz_expand_epi32 (__mmask16 __U, __m512i __A)
|
|
|
8901
8905
|
}
|
|
8902
8906
|
|
|
8903
8907
|
#define _mm512_cvt_roundps_pd(A, R) \
|
|
8904
|
-
(__m512d)__builtin_ia32_cvtps2pd512_mask((__v8sf)(__m256)(A), \
|
|
8905
|
-
|
|
8906
|
-
|
|
8908
|
+
((__m512d)__builtin_ia32_cvtps2pd512_mask((__v8sf)(__m256)(A), \
|
|
8909
|
+
(__v8df)_mm512_undefined_pd(), \
|
|
8910
|
+
(__mmask8)-1, (int)(R)))
|
|
8907
8911
|
|
|
8908
8912
|
#define _mm512_mask_cvt_roundps_pd(W, U, A, R) \
|
|
8909
|
-
(__m512d)__builtin_ia32_cvtps2pd512_mask((__v8sf)(__m256)(A), \
|
|
8910
|
-
|
|
8911
|
-
|
|
8913
|
+
((__m512d)__builtin_ia32_cvtps2pd512_mask((__v8sf)(__m256)(A), \
|
|
8914
|
+
(__v8df)(__m512d)(W), \
|
|
8915
|
+
(__mmask8)(U), (int)(R)))
|
|
8912
8916
|
|
|
8913
8917
|
#define _mm512_maskz_cvt_roundps_pd(U, A, R) \
|
|
8914
|
-
(__m512d)__builtin_ia32_cvtps2pd512_mask((__v8sf)(__m256)(A), \
|
|
8915
|
-
|
|
8916
|
-
|
|
8918
|
+
((__m512d)__builtin_ia32_cvtps2pd512_mask((__v8sf)(__m256)(A), \
|
|
8919
|
+
(__v8df)_mm512_setzero_pd(), \
|
|
8920
|
+
(__mmask8)(U), (int)(R)))
|
|
8917
8921
|
|
|
8918
8922
|
static __inline__ __m512d __DEFAULT_FN_ATTRS512
|
|
8919
8923
|
_mm512_cvtps_pd (__m256 __A)
|
|
@@ -9010,22 +9014,22 @@ _mm512_mask_compressstoreu_epi32 (void *__P, __mmask16 __U, __m512i __A)
|
|
|
9010
9014
|
}
|
|
9011
9015
|
|
|
9012
9016
|
#define _mm_cvt_roundsd_ss(A, B, R) \
|
|
9013
|
-
(__m128)__builtin_ia32_cvtsd2ss_round_mask((__v4sf)(__m128)(A), \
|
|
9014
|
-
|
|
9015
|
-
|
|
9016
|
-
|
|
9017
|
+
((__m128)__builtin_ia32_cvtsd2ss_round_mask((__v4sf)(__m128)(A), \
|
|
9018
|
+
(__v2df)(__m128d)(B), \
|
|
9019
|
+
(__v4sf)_mm_undefined_ps(), \
|
|
9020
|
+
(__mmask8)-1, (int)(R)))
|
|
9017
9021
|
|
|
9018
9022
|
#define _mm_mask_cvt_roundsd_ss(W, U, A, B, R) \
|
|
9019
|
-
(__m128)__builtin_ia32_cvtsd2ss_round_mask((__v4sf)(__m128)(A), \
|
|
9020
|
-
|
|
9021
|
-
|
|
9022
|
-
|
|
9023
|
+
((__m128)__builtin_ia32_cvtsd2ss_round_mask((__v4sf)(__m128)(A), \
|
|
9024
|
+
(__v2df)(__m128d)(B), \
|
|
9025
|
+
(__v4sf)(__m128)(W), \
|
|
9026
|
+
(__mmask8)(U), (int)(R)))
|
|
9023
9027
|
|
|
9024
9028
|
#define _mm_maskz_cvt_roundsd_ss(U, A, B, R) \
|
|
9025
|
-
(__m128)__builtin_ia32_cvtsd2ss_round_mask((__v4sf)(__m128)(A), \
|
|
9026
|
-
|
|
9027
|
-
|
|
9028
|
-
|
|
9029
|
+
((__m128)__builtin_ia32_cvtsd2ss_round_mask((__v4sf)(__m128)(A), \
|
|
9030
|
+
(__v2df)(__m128d)(B), \
|
|
9031
|
+
(__v4sf)_mm_setzero_ps(), \
|
|
9032
|
+
(__mmask8)(U), (int)(R)))
|
|
9029
9033
|
|
|
9030
9034
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
9031
9035
|
_mm_mask_cvtsd_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128d __B)
|
|
@@ -9058,47 +9062,47 @@ _mm_maskz_cvtsd_ss (__mmask8 __U, __m128 __A, __m128d __B)
|
|
|
9058
9062
|
|
|
9059
9063
|
#ifdef __x86_64__
|
|
9060
9064
|
#define _mm_cvt_roundi64_sd(A, B, R) \
|
|
9061
|
-
(__m128d)__builtin_ia32_cvtsi2sd64((__v2df)(__m128d)(A), (long long)(B), \
|
|
9062
|
-
|
|
9065
|
+
((__m128d)__builtin_ia32_cvtsi2sd64((__v2df)(__m128d)(A), (long long)(B), \
|
|
9066
|
+
(int)(R)))
|
|
9063
9067
|
|
|
9064
9068
|
#define _mm_cvt_roundsi64_sd(A, B, R) \
|
|
9065
|
-
(__m128d)__builtin_ia32_cvtsi2sd64((__v2df)(__m128d)(A), (long long)(B), \
|
|
9066
|
-
|
|
9069
|
+
((__m128d)__builtin_ia32_cvtsi2sd64((__v2df)(__m128d)(A), (long long)(B), \
|
|
9070
|
+
(int)(R)))
|
|
9067
9071
|
#endif
|
|
9068
9072
|
|
|
9069
9073
|
#define _mm_cvt_roundsi32_ss(A, B, R) \
|
|
9070
|
-
(__m128)__builtin_ia32_cvtsi2ss32((__v4sf)(__m128)(A), (int)(B), (int)(R))
|
|
9074
|
+
((__m128)__builtin_ia32_cvtsi2ss32((__v4sf)(__m128)(A), (int)(B), (int)(R)))
|
|
9071
9075
|
|
|
9072
9076
|
#define _mm_cvt_roundi32_ss(A, B, R) \
|
|
9073
|
-
(__m128)__builtin_ia32_cvtsi2ss32((__v4sf)(__m128)(A), (int)(B), (int)(R))
|
|
9077
|
+
((__m128)__builtin_ia32_cvtsi2ss32((__v4sf)(__m128)(A), (int)(B), (int)(R)))
|
|
9074
9078
|
|
|
9075
9079
|
#ifdef __x86_64__
|
|
9076
9080
|
#define _mm_cvt_roundsi64_ss(A, B, R) \
|
|
9077
|
-
(__m128)__builtin_ia32_cvtsi2ss64((__v4sf)(__m128)(A), (long long)(B), \
|
|
9078
|
-
|
|
9081
|
+
((__m128)__builtin_ia32_cvtsi2ss64((__v4sf)(__m128)(A), (long long)(B), \
|
|
9082
|
+
(int)(R)))
|
|
9079
9083
|
|
|
9080
9084
|
#define _mm_cvt_roundi64_ss(A, B, R) \
|
|
9081
|
-
(__m128)__builtin_ia32_cvtsi2ss64((__v4sf)(__m128)(A), (long long)(B), \
|
|
9082
|
-
|
|
9085
|
+
((__m128)__builtin_ia32_cvtsi2ss64((__v4sf)(__m128)(A), (long long)(B), \
|
|
9086
|
+
(int)(R)))
|
|
9083
9087
|
#endif
|
|
9084
9088
|
|
|
9085
9089
|
#define _mm_cvt_roundss_sd(A, B, R) \
|
|
9086
|
-
(__m128d)__builtin_ia32_cvtss2sd_round_mask((__v2df)(__m128d)(A), \
|
|
9087
|
-
|
|
9088
|
-
|
|
9089
|
-
|
|
9090
|
+
((__m128d)__builtin_ia32_cvtss2sd_round_mask((__v2df)(__m128d)(A), \
|
|
9091
|
+
(__v4sf)(__m128)(B), \
|
|
9092
|
+
(__v2df)_mm_undefined_pd(), \
|
|
9093
|
+
(__mmask8)-1, (int)(R)))
|
|
9090
9094
|
|
|
9091
9095
|
#define _mm_mask_cvt_roundss_sd(W, U, A, B, R) \
|
|
9092
|
-
(__m128d)__builtin_ia32_cvtss2sd_round_mask((__v2df)(__m128d)(A), \
|
|
9093
|
-
|
|
9094
|
-
|
|
9095
|
-
|
|
9096
|
+
((__m128d)__builtin_ia32_cvtss2sd_round_mask((__v2df)(__m128d)(A), \
|
|
9097
|
+
(__v4sf)(__m128)(B), \
|
|
9098
|
+
(__v2df)(__m128d)(W), \
|
|
9099
|
+
(__mmask8)(U), (int)(R)))
|
|
9096
9100
|
|
|
9097
9101
|
#define _mm_maskz_cvt_roundss_sd(U, A, B, R) \
|
|
9098
|
-
(__m128d)__builtin_ia32_cvtss2sd_round_mask((__v2df)(__m128d)(A), \
|
|
9099
|
-
|
|
9100
|
-
|
|
9101
|
-
|
|
9102
|
+
((__m128d)__builtin_ia32_cvtss2sd_round_mask((__v2df)(__m128d)(A), \
|
|
9103
|
+
(__v4sf)(__m128)(B), \
|
|
9104
|
+
(__v2df)_mm_setzero_pd(), \
|
|
9105
|
+
(__mmask8)(U), (int)(R)))
|
|
9102
9106
|
|
|
9103
9107
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
9104
9108
|
_mm_mask_cvtss_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128 __B)
|
|
@@ -9127,8 +9131,8 @@ _mm_cvtu32_sd (__m128d __A, unsigned __B)
|
|
|
9127
9131
|
|
|
9128
9132
|
#ifdef __x86_64__
|
|
9129
9133
|
#define _mm_cvt_roundu64_sd(A, B, R) \
|
|
9130
|
-
(__m128d)__builtin_ia32_cvtusi2sd64((__v2df)(__m128d)(A), \
|
|
9131
|
-
|
|
9134
|
+
((__m128d)__builtin_ia32_cvtusi2sd64((__v2df)(__m128d)(A), \
|
|
9135
|
+
(unsigned long long)(B), (int)(R)))
|
|
9132
9136
|
|
|
9133
9137
|
static __inline__ __m128d __DEFAULT_FN_ATTRS128
|
|
9134
9138
|
_mm_cvtu64_sd (__m128d __A, unsigned long long __B)
|
|
@@ -9139,8 +9143,8 @@ _mm_cvtu64_sd (__m128d __A, unsigned long long __B)
|
|
|
9139
9143
|
#endif
|
|
9140
9144
|
|
|
9141
9145
|
#define _mm_cvt_roundu32_ss(A, B, R) \
|
|
9142
|
-
(__m128)__builtin_ia32_cvtusi2ss32((__v4sf)(__m128)(A), (unsigned int)(B), \
|
|
9143
|
-
|
|
9146
|
+
((__m128)__builtin_ia32_cvtusi2ss32((__v4sf)(__m128)(A), (unsigned int)(B), \
|
|
9147
|
+
(int)(R)))
|
|
9144
9148
|
|
|
9145
9149
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
9146
9150
|
_mm_cvtu32_ss (__m128 __A, unsigned __B)
|
|
@@ -9151,8 +9155,8 @@ _mm_cvtu32_ss (__m128 __A, unsigned __B)
|
|
|
9151
9155
|
|
|
9152
9156
|
#ifdef __x86_64__
|
|
9153
9157
|
#define _mm_cvt_roundu64_ss(A, B, R) \
|
|
9154
|
-
(__m128)__builtin_ia32_cvtusi2ss64((__v4sf)(__m128)(A), \
|
|
9155
|
-
|
|
9158
|
+
((__m128)__builtin_ia32_cvtusi2ss64((__v4sf)(__m128)(A), \
|
|
9159
|
+
(unsigned long long)(B), (int)(R)))
|
|
9156
9160
|
|
|
9157
9161
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128
|
|
9158
9162
|
_mm_cvtu64_ss (__m128 __A, unsigned long long __B)
|
|
@@ -9320,11 +9324,11 @@ static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_mul_epi64(__m512
|
|
|
9320
9324
|
}
|
|
9321
9325
|
|
|
9322
9326
|
static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_and_epi64(__m512i __W) {
|
|
9323
|
-
return
|
|
9327
|
+
return __builtin_reduce_and((__v8di)__W);
|
|
9324
9328
|
}
|
|
9325
9329
|
|
|
9326
9330
|
static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_or_epi64(__m512i __W) {
|
|
9327
|
-
return
|
|
9331
|
+
return __builtin_reduce_or((__v8di)__W);
|
|
9328
9332
|
}
|
|
9329
9333
|
|
|
9330
9334
|
static __inline__ long long __DEFAULT_FN_ATTRS512
|
|
@@ -9342,13 +9346,13 @@ _mm512_mask_reduce_mul_epi64(__mmask8 __M, __m512i __W) {
|
|
|
9342
9346
|
static __inline__ long long __DEFAULT_FN_ATTRS512
|
|
9343
9347
|
_mm512_mask_reduce_and_epi64(__mmask8 __M, __m512i __W) {
|
|
9344
9348
|
__W = _mm512_mask_mov_epi64(_mm512_set1_epi64(~0ULL), __M, __W);
|
|
9345
|
-
return
|
|
9349
|
+
return __builtin_reduce_and((__v8di)__W);
|
|
9346
9350
|
}
|
|
9347
9351
|
|
|
9348
9352
|
static __inline__ long long __DEFAULT_FN_ATTRS512
|
|
9349
9353
|
_mm512_mask_reduce_or_epi64(__mmask8 __M, __m512i __W) {
|
|
9350
9354
|
__W = _mm512_maskz_mov_epi64(__M, __W);
|
|
9351
|
-
return
|
|
9355
|
+
return __builtin_reduce_or((__v8di)__W);
|
|
9352
9356
|
}
|
|
9353
9357
|
|
|
9354
9358
|
// -0.0 is used to ignore the start value since it is the neutral value of
|
|
@@ -9386,12 +9390,12 @@ _mm512_reduce_mul_epi32(__m512i __W) {
|
|
|
9386
9390
|
|
|
9387
9391
|
static __inline__ int __DEFAULT_FN_ATTRS512
|
|
9388
9392
|
_mm512_reduce_and_epi32(__m512i __W) {
|
|
9389
|
-
return
|
|
9393
|
+
return __builtin_reduce_and((__v16si)__W);
|
|
9390
9394
|
}
|
|
9391
9395
|
|
|
9392
9396
|
static __inline__ int __DEFAULT_FN_ATTRS512
|
|
9393
9397
|
_mm512_reduce_or_epi32(__m512i __W) {
|
|
9394
|
-
return
|
|
9398
|
+
return __builtin_reduce_or((__v16si)__W);
|
|
9395
9399
|
}
|
|
9396
9400
|
|
|
9397
9401
|
static __inline__ int __DEFAULT_FN_ATTRS512
|
|
@@ -9409,13 +9413,13 @@ _mm512_mask_reduce_mul_epi32( __mmask16 __M, __m512i __W) {
|
|
|
9409
9413
|
static __inline__ int __DEFAULT_FN_ATTRS512
|
|
9410
9414
|
_mm512_mask_reduce_and_epi32( __mmask16 __M, __m512i __W) {
|
|
9411
9415
|
__W = _mm512_mask_mov_epi32(_mm512_set1_epi32(~0U), __M, __W);
|
|
9412
|
-
return
|
|
9416
|
+
return __builtin_reduce_and((__v16si)__W);
|
|
9413
9417
|
}
|
|
9414
9418
|
|
|
9415
9419
|
static __inline__ int __DEFAULT_FN_ATTRS512
|
|
9416
9420
|
_mm512_mask_reduce_or_epi32(__mmask16 __M, __m512i __W) {
|
|
9417
9421
|
__W = _mm512_maskz_mov_epi32(__M, __W);
|
|
9418
|
-
return
|
|
9422
|
+
return __builtin_reduce_or((__v16si)__W);
|
|
9419
9423
|
}
|
|
9420
9424
|
|
|
9421
9425
|
static __inline__ float __DEFAULT_FN_ATTRS512
|
|
@@ -9442,89 +9446,89 @@ _mm512_mask_reduce_mul_ps(__mmask16 __M, __m512 __W) {
|
|
|
9442
9446
|
|
|
9443
9447
|
static __inline__ long long __DEFAULT_FN_ATTRS512
|
|
9444
9448
|
_mm512_reduce_max_epi64(__m512i __V) {
|
|
9445
|
-
return
|
|
9449
|
+
return __builtin_reduce_max((__v8di)__V);
|
|
9446
9450
|
}
|
|
9447
9451
|
|
|
9448
9452
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS512
|
|
9449
9453
|
_mm512_reduce_max_epu64(__m512i __V) {
|
|
9450
|
-
return
|
|
9454
|
+
return __builtin_reduce_max((__v8du)__V);
|
|
9451
9455
|
}
|
|
9452
9456
|
|
|
9453
9457
|
static __inline__ long long __DEFAULT_FN_ATTRS512
|
|
9454
9458
|
_mm512_reduce_min_epi64(__m512i __V) {
|
|
9455
|
-
return
|
|
9459
|
+
return __builtin_reduce_min((__v8di)__V);
|
|
9456
9460
|
}
|
|
9457
9461
|
|
|
9458
9462
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS512
|
|
9459
9463
|
_mm512_reduce_min_epu64(__m512i __V) {
|
|
9460
|
-
return
|
|
9464
|
+
return __builtin_reduce_min((__v8du)__V);
|
|
9461
9465
|
}
|
|
9462
9466
|
|
|
9463
9467
|
static __inline__ long long __DEFAULT_FN_ATTRS512
|
|
9464
9468
|
_mm512_mask_reduce_max_epi64(__mmask8 __M, __m512i __V) {
|
|
9465
9469
|
__V = _mm512_mask_mov_epi64(_mm512_set1_epi64(-__LONG_LONG_MAX__ - 1LL), __M, __V);
|
|
9466
|
-
return
|
|
9470
|
+
return __builtin_reduce_max((__v8di)__V);
|
|
9467
9471
|
}
|
|
9468
9472
|
|
|
9469
9473
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS512
|
|
9470
9474
|
_mm512_mask_reduce_max_epu64(__mmask8 __M, __m512i __V) {
|
|
9471
9475
|
__V = _mm512_maskz_mov_epi64(__M, __V);
|
|
9472
|
-
return
|
|
9476
|
+
return __builtin_reduce_max((__v8du)__V);
|
|
9473
9477
|
}
|
|
9474
9478
|
|
|
9475
9479
|
static __inline__ long long __DEFAULT_FN_ATTRS512
|
|
9476
9480
|
_mm512_mask_reduce_min_epi64(__mmask8 __M, __m512i __V) {
|
|
9477
9481
|
__V = _mm512_mask_mov_epi64(_mm512_set1_epi64(__LONG_LONG_MAX__), __M, __V);
|
|
9478
|
-
return
|
|
9482
|
+
return __builtin_reduce_min((__v8di)__V);
|
|
9479
9483
|
}
|
|
9480
9484
|
|
|
9481
9485
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS512
|
|
9482
9486
|
_mm512_mask_reduce_min_epu64(__mmask8 __M, __m512i __V) {
|
|
9483
9487
|
__V = _mm512_mask_mov_epi64(_mm512_set1_epi64(~0ULL), __M, __V);
|
|
9484
|
-
return
|
|
9488
|
+
return __builtin_reduce_min((__v8du)__V);
|
|
9485
9489
|
}
|
|
9486
9490
|
static __inline__ int __DEFAULT_FN_ATTRS512
|
|
9487
9491
|
_mm512_reduce_max_epi32(__m512i __V) {
|
|
9488
|
-
return
|
|
9492
|
+
return __builtin_reduce_max((__v16si)__V);
|
|
9489
9493
|
}
|
|
9490
9494
|
|
|
9491
9495
|
static __inline__ unsigned int __DEFAULT_FN_ATTRS512
|
|
9492
9496
|
_mm512_reduce_max_epu32(__m512i __V) {
|
|
9493
|
-
return
|
|
9497
|
+
return __builtin_reduce_max((__v16su)__V);
|
|
9494
9498
|
}
|
|
9495
9499
|
|
|
9496
9500
|
static __inline__ int __DEFAULT_FN_ATTRS512
|
|
9497
9501
|
_mm512_reduce_min_epi32(__m512i __V) {
|
|
9498
|
-
return
|
|
9502
|
+
return __builtin_reduce_min((__v16si)__V);
|
|
9499
9503
|
}
|
|
9500
9504
|
|
|
9501
9505
|
static __inline__ unsigned int __DEFAULT_FN_ATTRS512
|
|
9502
9506
|
_mm512_reduce_min_epu32(__m512i __V) {
|
|
9503
|
-
return
|
|
9507
|
+
return __builtin_reduce_min((__v16su)__V);
|
|
9504
9508
|
}
|
|
9505
9509
|
|
|
9506
9510
|
static __inline__ int __DEFAULT_FN_ATTRS512
|
|
9507
9511
|
_mm512_mask_reduce_max_epi32(__mmask16 __M, __m512i __V) {
|
|
9508
9512
|
__V = _mm512_mask_mov_epi32(_mm512_set1_epi32(-__INT_MAX__ - 1), __M, __V);
|
|
9509
|
-
return
|
|
9513
|
+
return __builtin_reduce_max((__v16si)__V);
|
|
9510
9514
|
}
|
|
9511
9515
|
|
|
9512
9516
|
static __inline__ unsigned int __DEFAULT_FN_ATTRS512
|
|
9513
9517
|
_mm512_mask_reduce_max_epu32(__mmask16 __M, __m512i __V) {
|
|
9514
9518
|
__V = _mm512_maskz_mov_epi32(__M, __V);
|
|
9515
|
-
return
|
|
9519
|
+
return __builtin_reduce_max((__v16su)__V);
|
|
9516
9520
|
}
|
|
9517
9521
|
|
|
9518
9522
|
static __inline__ int __DEFAULT_FN_ATTRS512
|
|
9519
9523
|
_mm512_mask_reduce_min_epi32(__mmask16 __M, __m512i __V) {
|
|
9520
9524
|
__V = _mm512_mask_mov_epi32(_mm512_set1_epi32(__INT_MAX__), __M, __V);
|
|
9521
|
-
return
|
|
9525
|
+
return __builtin_reduce_min((__v16si)__V);
|
|
9522
9526
|
}
|
|
9523
9527
|
|
|
9524
9528
|
static __inline__ unsigned int __DEFAULT_FN_ATTRS512
|
|
9525
9529
|
_mm512_mask_reduce_min_epu32(__mmask16 __M, __m512i __V) {
|
|
9526
9530
|
__V = _mm512_mask_mov_epi32(_mm512_set1_epi32(~0U), __M, __V);
|
|
9527
|
-
return
|
|
9531
|
+
return __builtin_reduce_min((__v16su)__V);
|
|
9528
9532
|
}
|
|
9529
9533
|
|
|
9530
9534
|
static __inline__ double __DEFAULT_FN_ATTRS512
|