@cpp-linter/clang-tidy-win32-x64 14.0.0 → 16.0.3
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/{14.0.0 → 16}/include/__clang_cuda_intrinsics.h +7 -7
- package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_texture_intrinsics.h +2 -0
- package/lib/clang/{14.0.0 → 16}/include/__clang_hip_libdevice_declares.h +5 -0
- package/lib/clang/{14.0.0 → 16}/include/__clang_hip_math.h +10 -13
- package/lib/clang/{14.0.0 → 16}/include/__clang_hip_runtime_wrapper.h +1 -0
- package/lib/clang/16/include/__clang_hip_stdlib.h +43 -0
- package/lib/clang/{14.0.0 → 16}/include/__wmmintrin_pclmul.h +10 -10
- package/lib/clang/{14.0.0 → 16}/include/altivec.h +501 -262
- package/lib/clang/16/include/amxfp16intrin.h +58 -0
- package/lib/clang/{14.0.0 → 16}/include/amxintrin.h +32 -2
- package/lib/clang/{14.0.0 → 16}/include/arm_acle.h +76 -75
- package/lib/clang/{14.0.0 → 16}/include/arm_fp16.h +90 -90
- package/lib/clang/{14.0.0 → 16}/include/arm_neon.h +28468 -28638
- package/lib/clang/{14.0.0 → 16}/include/arm_neon_sve_bridge.h +0 -2
- package/lib/clang/{14.0.0 → 16}/include/arm_sve.h +7848 -7996
- package/lib/clang/{14.0.0 → 16}/include/avx2intrin.h +8 -8
- package/lib/clang/{14.0.0 → 16}/include/avx512bf16intrin.h +18 -15
- package/lib/clang/{14.0.0 → 16}/include/avx512bwintrin.h +12 -12
- package/lib/clang/{14.0.0 → 16}/include/avx512fintrin.h +78 -75
- package/lib/clang/{14.0.0 → 16}/include/avx512fp16intrin.h +6 -9
- package/lib/clang/{14.0.0 → 16}/include/avx512ifmavlintrin.h +13 -27
- package/lib/clang/{14.0.0 → 16}/include/avx512vlbf16intrin.h +31 -38
- package/lib/clang/{14.0.0 → 16}/include/avx512vlbwintrin.h +360 -8
- package/lib/clang/{14.0.0 → 16}/include/avx512vlfp16intrin.h +3 -0
- package/lib/clang/{14.0.0 → 16}/include/avx512vlintrin.h +81 -95
- package/lib/clang/{14.0.0 → 16}/include/avx512vlvnniintrin.h +16 -16
- package/lib/clang/16/include/avxifmaintrin.h +177 -0
- package/lib/clang/{14.0.0 → 16}/include/avxintrin.h +77 -32
- package/lib/clang/16/include/avxneconvertintrin.h +484 -0
- package/lib/clang/16/include/avxvnniint8intrin.h +471 -0
- package/lib/clang/{14.0.0 → 16}/include/avxvnniintrin.h +16 -16
- package/lib/clang/{14.0.0 → 16}/include/bmiintrin.h +6 -2
- package/lib/clang/{14.0.0 → 16}/include/cetintrin.h +12 -6
- package/lib/clang/16/include/cmpccxaddintrin.h +70 -0
- package/lib/clang/{14.0.0 → 16}/include/cpuid.h +12 -1
- package/lib/clang/16/include/cuda_wrappers/cmath +90 -0
- package/lib/clang/{14.0.0 → 16}/include/emmintrin.h +559 -769
- package/lib/clang/{14.0.0 → 16}/include/f16cintrin.h +3 -3
- package/lib/clang/{14.0.0 → 16}/include/float.h +17 -10
- package/lib/clang/{14.0.0 → 16}/include/gfniintrin.h +7 -5
- package/lib/clang/16/include/hlsl/hlsl_basic_types.h +67 -0
- package/lib/clang/16/include/hlsl/hlsl_intrinsics.h +223 -0
- package/lib/clang/16/include/hlsl.h +15 -0
- package/lib/clang/{14.0.0 → 16}/include/hresetintrin.h +2 -2
- package/lib/clang/{14.0.0 → 16}/include/ia32intrin.h +11 -11
- package/lib/clang/{14.0.0 → 16}/include/immintrin.h +56 -24
- package/lib/clang/{14.0.0 → 16}/include/intrin.h +12 -21
- package/lib/clang/{14.0.0 → 16}/include/keylockerintrin.h +22 -22
- package/lib/clang/16/include/larchintrin.h +234 -0
- package/lib/clang/{14.0.0 → 16}/include/limits.h +3 -2
- package/lib/clang/{14.0.0 → 16}/include/mm_malloc.h +3 -3
- package/lib/clang/{14.0.0 → 16}/include/opencl-c-base.h +29 -0
- package/lib/clang/{14.0.0 → 16}/include/opencl-c.h +6904 -7100
- package/lib/clang/{14.0.0 → 16}/include/pmmintrin.h +1 -1
- package/lib/clang/16/include/ppc_wrappers/bmi2intrin.h +134 -0
- package/lib/clang/16/include/ppc_wrappers/bmiintrin.h +165 -0
- package/lib/clang/16/include/ppc_wrappers/emmintrin.h +2268 -0
- package/lib/clang/16/include/ppc_wrappers/immintrin.h +27 -0
- package/lib/clang/{14.0.0 → 16}/include/ppc_wrappers/mm_malloc.h +12 -17
- package/lib/clang/{14.0.0 → 16}/include/ppc_wrappers/mmintrin.h +389 -387
- package/lib/clang/16/include/ppc_wrappers/pmmintrin.h +145 -0
- package/lib/clang/16/include/ppc_wrappers/smmintrin.h +663 -0
- package/lib/clang/16/include/ppc_wrappers/tmmintrin.h +453 -0
- package/lib/clang/{14.0.0/include/stdnoreturn.h → 16/include/ppc_wrappers/x86gprintrin.h} +7 -6
- package/lib/clang/16/include/ppc_wrappers/x86intrin.h +28 -0
- package/lib/clang/16/include/ppc_wrappers/xmmintrin.h +1827 -0
- package/lib/clang/16/include/prfchiintrin.h +61 -0
- package/lib/clang/16/include/raointintrin.h +203 -0
- package/lib/clang/16/include/rdpruintrin.h +57 -0
- package/lib/clang/{14.0.0 → 16}/include/rdseedintrin.h +3 -3
- package/lib/clang/16/include/riscv_vector.h +211 -0
- package/lib/clang/{14.0.0 → 16}/include/rtmintrin.h +1 -1
- package/lib/clang/{14.0.0 → 16}/include/smmintrin.h +236 -259
- package/lib/clang/{14.0.0 → 16}/include/stdarg.h +23 -7
- package/lib/clang/{14.0.0 → 16}/include/stdatomic.h +7 -7
- package/lib/clang/{14.0.0 → 16}/include/stdbool.h +10 -7
- package/lib/clang/{14.0.0 → 16}/include/stddef.h +9 -2
- package/lib/clang/{14.0.0 → 16}/include/stdint.h +158 -40
- package/lib/clang/16/include/stdnoreturn.h +29 -0
- package/lib/clang/{14.0.0 → 16}/include/uintrintrin.h +8 -8
- package/lib/clang/{14.0.0 → 16}/include/unwind.h +10 -6
- package/lib/clang/16/include/velintrin.h +71 -0
- package/lib/clang/16/include/velintrin_approx.h +120 -0
- package/lib/clang/16/include/velintrin_gen.h +1257 -0
- package/lib/clang/{14.0.0 → 16}/include/wasm_simd128.h +2 -2
- package/lib/clang/16/include/x86gprintrin.h +65 -0
- package/lib/clang/{14.0.0 → 16}/include/x86intrin.h +4 -0
- package/lib/clang/{14.0.0 → 16}/include/xmmintrin.h +10 -5
- package/package.json +6 -6
- package/lib/clang/14.0.0/include/ppc_wrappers/emmintrin.h +0 -2325
- package/lib/clang/14.0.0/include/ppc_wrappers/pmmintrin.h +0 -151
- package/lib/clang/14.0.0/include/ppc_wrappers/smmintrin.h +0 -110
- package/lib/clang/14.0.0/include/ppc_wrappers/tmmintrin.h +0 -496
- package/lib/clang/14.0.0/include/ppc_wrappers/xmmintrin.h +0 -1844
- package/lib/clang/14.0.0/include/riscv_vector.h +0 -95423
- package/lib/clang/14.0.0/include/x86gprintrin.h +0 -35
- /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_complex_builtins.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_device_functions.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_math.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_runtime_wrapper.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__clang_hip_cmath.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/adxintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/ammintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/arm64intr.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/arm_bf16.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/arm_cde.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/arm_cmse.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/arm_mve.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/armintr.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512bitalgintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512cdintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512dqintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512erintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512ifmaintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512pfintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vbmi2intrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vbmiintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vbmivlintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vlbitalgintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vlcdintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vldqintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vlvbmi2intrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vnniintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vp2intersectintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vpopcntdqintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vpopcntdqvlintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/builtins.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/cet.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/clwbintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/clzerointrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/crc32intrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/fma4intrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/fmaintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/hexagon_types.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/htmintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/hvx_hexagon_protos.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/inttypes.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/iso646.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/lwpintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/mm3dnow.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/mmintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/module.modulemap +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/movdirintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/msa.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/nmmintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/pkuintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/popcntintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/prfchwintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/s390intrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/serializeintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/sgxintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/shaintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/stdalign.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/tbmintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/tgmath.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/tmmintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/vadefs.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/vaesintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/varargs.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/vecintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/wmmintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/xopintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/xtestintrin.h +0 -0
|
@@ -92,25 +92,25 @@ _mm256_add_epi64(__m256i __a, __m256i __b)
|
|
|
92
92
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
93
93
|
_mm256_adds_epi8(__m256i __a, __m256i __b)
|
|
94
94
|
{
|
|
95
|
-
return (__m256i)
|
|
95
|
+
return (__m256i)__builtin_elementwise_add_sat((__v32qs)__a, (__v32qs)__b);
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
99
99
|
_mm256_adds_epi16(__m256i __a, __m256i __b)
|
|
100
100
|
{
|
|
101
|
-
return (__m256i)
|
|
101
|
+
return (__m256i)__builtin_elementwise_add_sat((__v16hi)__a, (__v16hi)__b);
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
105
105
|
_mm256_adds_epu8(__m256i __a, __m256i __b)
|
|
106
106
|
{
|
|
107
|
-
return (__m256i)
|
|
107
|
+
return (__m256i)__builtin_elementwise_add_sat((__v32qu)__a, (__v32qu)__b);
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
111
111
|
_mm256_adds_epu16(__m256i __a, __m256i __b)
|
|
112
112
|
{
|
|
113
|
-
return (__m256i)
|
|
113
|
+
return (__m256i)__builtin_elementwise_add_sat((__v16hu)__a, (__v16hu)__b);
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
#define _mm256_alignr_epi8(a, b, n) \
|
|
@@ -628,25 +628,25 @@ _mm256_sub_epi64(__m256i __a, __m256i __b)
|
|
|
628
628
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
629
629
|
_mm256_subs_epi8(__m256i __a, __m256i __b)
|
|
630
630
|
{
|
|
631
|
-
return (__m256i)
|
|
631
|
+
return (__m256i)__builtin_elementwise_sub_sat((__v32qs)__a, (__v32qs)__b);
|
|
632
632
|
}
|
|
633
633
|
|
|
634
634
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
635
635
|
_mm256_subs_epi16(__m256i __a, __m256i __b)
|
|
636
636
|
{
|
|
637
|
-
return (__m256i)
|
|
637
|
+
return (__m256i)__builtin_elementwise_sub_sat((__v16hi)__a, (__v16hi)__b);
|
|
638
638
|
}
|
|
639
639
|
|
|
640
640
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
641
641
|
_mm256_subs_epu8(__m256i __a, __m256i __b)
|
|
642
642
|
{
|
|
643
|
-
return (__m256i)
|
|
643
|
+
return (__m256i)__builtin_elementwise_sub_sat((__v32qu)__a, (__v32qu)__b);
|
|
644
644
|
}
|
|
645
645
|
|
|
646
646
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
647
647
|
_mm256_subs_epu16(__m256i __a, __m256i __b)
|
|
648
648
|
{
|
|
649
|
-
return (__m256i)
|
|
649
|
+
return (__m256i)__builtin_elementwise_sub_sat((__v16hu)__a, (__v16hu)__b);
|
|
650
650
|
}
|
|
651
651
|
|
|
652
652
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
@@ -10,12 +10,14 @@
|
|
|
10
10
|
#error "Never use <avx512bf16intrin.h> directly; include <immintrin.h> instead."
|
|
11
11
|
#endif
|
|
12
12
|
|
|
13
|
+
#ifdef __SSE2__
|
|
14
|
+
|
|
13
15
|
#ifndef __AVX512BF16INTRIN_H
|
|
14
16
|
#define __AVX512BF16INTRIN_H
|
|
15
17
|
|
|
16
|
-
typedef
|
|
17
|
-
typedef
|
|
18
|
-
typedef
|
|
18
|
+
typedef __bf16 __v32bf __attribute__((__vector_size__(64), __aligned__(64)));
|
|
19
|
+
typedef __bf16 __m512bh __attribute__((__vector_size__(64), __aligned__(64)));
|
|
20
|
+
typedef __bf16 __bfloat16 __attribute__((deprecated("use __bf16 instead")));
|
|
19
21
|
|
|
20
22
|
#define __DEFAULT_FN_ATTRS512 \
|
|
21
23
|
__attribute__((__always_inline__, __nodebug__, __target__("avx512bf16"), \
|
|
@@ -33,7 +35,7 @@ typedef unsigned short __bfloat16;
|
|
|
33
35
|
/// A bfloat data.
|
|
34
36
|
/// \returns A float data whose sign field and exponent field keep unchanged,
|
|
35
37
|
/// and fraction field is extended to 23 bits.
|
|
36
|
-
static __inline__ float __DEFAULT_FN_ATTRS _mm_cvtsbh_ss(
|
|
38
|
+
static __inline__ float __DEFAULT_FN_ATTRS _mm_cvtsbh_ss(__bf16 __A) {
|
|
37
39
|
return __builtin_ia32_cvtsbf162ss_32(__A);
|
|
38
40
|
}
|
|
39
41
|
|
|
@@ -74,9 +76,9 @@ _mm512_cvtne2ps_pbh(__m512 __A, __m512 __B) {
|
|
|
74
76
|
/// conversion of __B, and higher 256 bits come from conversion of __A.
|
|
75
77
|
static __inline__ __m512bh __DEFAULT_FN_ATTRS512
|
|
76
78
|
_mm512_mask_cvtne2ps_pbh(__m512bh __W, __mmask32 __U, __m512 __A, __m512 __B) {
|
|
77
|
-
return (__m512bh)
|
|
78
|
-
(
|
|
79
|
-
(
|
|
79
|
+
return (__m512bh)__builtin_ia32_selectpbf_512((__mmask32)__U,
|
|
80
|
+
(__v32bf)_mm512_cvtne2ps_pbh(__A, __B),
|
|
81
|
+
(__v32bf)__W);
|
|
80
82
|
}
|
|
81
83
|
|
|
82
84
|
/// Convert Two Packed Single Data to One Packed BF16 Data.
|
|
@@ -96,9 +98,9 @@ _mm512_mask_cvtne2ps_pbh(__m512bh __W, __mmask32 __U, __m512 __A, __m512 __B) {
|
|
|
96
98
|
/// conversion of __B, and higher 256 bits come from conversion of __A.
|
|
97
99
|
static __inline__ __m512bh __DEFAULT_FN_ATTRS512
|
|
98
100
|
_mm512_maskz_cvtne2ps_pbh(__mmask32 __U, __m512 __A, __m512 __B) {
|
|
99
|
-
return (__m512bh)
|
|
100
|
-
(
|
|
101
|
-
(
|
|
101
|
+
return (__m512bh)__builtin_ia32_selectpbf_512((__mmask32)__U,
|
|
102
|
+
(__v32bf)_mm512_cvtne2ps_pbh(__A, __B),
|
|
103
|
+
(__v32bf)_mm512_setzero_si512());
|
|
102
104
|
}
|
|
103
105
|
|
|
104
106
|
/// Convert Packed Single Data to Packed BF16 Data.
|
|
@@ -113,7 +115,7 @@ _mm512_maskz_cvtne2ps_pbh(__mmask32 __U, __m512 __A, __m512 __B) {
|
|
|
113
115
|
static __inline__ __m256bh __DEFAULT_FN_ATTRS512
|
|
114
116
|
_mm512_cvtneps_pbh(__m512 __A) {
|
|
115
117
|
return (__m256bh)__builtin_ia32_cvtneps2bf16_512_mask((__v16sf)__A,
|
|
116
|
-
(
|
|
118
|
+
(__v16bf)_mm256_undefined_si256(),
|
|
117
119
|
(__mmask16)-1);
|
|
118
120
|
}
|
|
119
121
|
|
|
@@ -134,7 +136,7 @@ _mm512_cvtneps_pbh(__m512 __A) {
|
|
|
134
136
|
static __inline__ __m256bh __DEFAULT_FN_ATTRS512
|
|
135
137
|
_mm512_mask_cvtneps_pbh(__m256bh __W, __mmask16 __U, __m512 __A) {
|
|
136
138
|
return (__m256bh)__builtin_ia32_cvtneps2bf16_512_mask((__v16sf)__A,
|
|
137
|
-
(
|
|
139
|
+
(__v16bf)__W,
|
|
138
140
|
(__mmask16)__U);
|
|
139
141
|
}
|
|
140
142
|
|
|
@@ -153,7 +155,7 @@ _mm512_mask_cvtneps_pbh(__m256bh __W, __mmask16 __U, __m512 __A) {
|
|
|
153
155
|
static __inline__ __m256bh __DEFAULT_FN_ATTRS512
|
|
154
156
|
_mm512_maskz_cvtneps_pbh(__mmask16 __U, __m512 __A) {
|
|
155
157
|
return (__m256bh)__builtin_ia32_cvtneps2bf16_512_mask((__v16sf)__A,
|
|
156
|
-
(
|
|
158
|
+
(__v16bf)_mm256_setzero_si256(),
|
|
157
159
|
(__mmask16)__U);
|
|
158
160
|
}
|
|
159
161
|
|
|
@@ -174,8 +176,8 @@ _mm512_maskz_cvtneps_pbh(__mmask16 __U, __m512 __A) {
|
|
|
174
176
|
static __inline__ __m512 __DEFAULT_FN_ATTRS512
|
|
175
177
|
_mm512_dpbf16_ps(__m512 __D, __m512bh __A, __m512bh __B) {
|
|
176
178
|
return (__m512)__builtin_ia32_dpbf16ps_512((__v16sf) __D,
|
|
177
|
-
(
|
|
178
|
-
(
|
|
179
|
+
(__v32bf) __A,
|
|
180
|
+
(__v32bf) __B);
|
|
179
181
|
}
|
|
180
182
|
|
|
181
183
|
/// Dot Product of BF16 Pairs Accumulated into Packed Single Precision.
|
|
@@ -277,3 +279,4 @@ _mm512_mask_cvtpbh_ps(__m512 __S, __mmask16 __U, __m256bh __A) {
|
|
|
277
279
|
#undef __DEFAULT_FN_ATTRS512
|
|
278
280
|
|
|
279
281
|
#endif
|
|
282
|
+
#endif
|
|
@@ -617,7 +617,7 @@ _mm512_maskz_packus_epi16(__mmask64 __M, __m512i __A, __m512i __B)
|
|
|
617
617
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
618
618
|
_mm512_adds_epi8 (__m512i __A, __m512i __B)
|
|
619
619
|
{
|
|
620
|
-
return (__m512i)
|
|
620
|
+
return (__m512i)__builtin_elementwise_add_sat((__v64qs)__A, (__v64qs)__B);
|
|
621
621
|
}
|
|
622
622
|
|
|
623
623
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -639,7 +639,7 @@ _mm512_maskz_adds_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
|
|
|
639
639
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
640
640
|
_mm512_adds_epi16 (__m512i __A, __m512i __B)
|
|
641
641
|
{
|
|
642
|
-
return (__m512i)
|
|
642
|
+
return (__m512i)__builtin_elementwise_add_sat((__v32hi)__A, (__v32hi)__B);
|
|
643
643
|
}
|
|
644
644
|
|
|
645
645
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -661,7 +661,7 @@ _mm512_maskz_adds_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
|
|
|
661
661
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
662
662
|
_mm512_adds_epu8 (__m512i __A, __m512i __B)
|
|
663
663
|
{
|
|
664
|
-
return (__m512i)
|
|
664
|
+
return (__m512i)__builtin_elementwise_add_sat((__v64qu) __A, (__v64qu) __B);
|
|
665
665
|
}
|
|
666
666
|
|
|
667
667
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -683,7 +683,7 @@ _mm512_maskz_adds_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
|
|
|
683
683
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
684
684
|
_mm512_adds_epu16 (__m512i __A, __m512i __B)
|
|
685
685
|
{
|
|
686
|
-
return (__m512i)
|
|
686
|
+
return (__m512i)__builtin_elementwise_add_sat((__v32hu) __A, (__v32hu) __B);
|
|
687
687
|
}
|
|
688
688
|
|
|
689
689
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -950,7 +950,7 @@ _mm512_maskz_shuffle_epi8(__mmask64 __U, __m512i __A, __m512i __B)
|
|
|
950
950
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
951
951
|
_mm512_subs_epi8 (__m512i __A, __m512i __B)
|
|
952
952
|
{
|
|
953
|
-
return (__m512i)
|
|
953
|
+
return (__m512i)__builtin_elementwise_sub_sat((__v64qs)__A, (__v64qs)__B);
|
|
954
954
|
}
|
|
955
955
|
|
|
956
956
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -972,7 +972,7 @@ _mm512_maskz_subs_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
|
|
|
972
972
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
973
973
|
_mm512_subs_epi16 (__m512i __A, __m512i __B)
|
|
974
974
|
{
|
|
975
|
-
return (__m512i)
|
|
975
|
+
return (__m512i)__builtin_elementwise_sub_sat((__v32hi)__A, (__v32hi)__B);
|
|
976
976
|
}
|
|
977
977
|
|
|
978
978
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -994,7 +994,7 @@ _mm512_maskz_subs_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
|
|
|
994
994
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
995
995
|
_mm512_subs_epu8 (__m512i __A, __m512i __B)
|
|
996
996
|
{
|
|
997
|
-
return (__m512i)
|
|
997
|
+
return (__m512i)__builtin_elementwise_sub_sat((__v64qu) __A, (__v64qu) __B);
|
|
998
998
|
}
|
|
999
999
|
|
|
1000
1000
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -1016,7 +1016,7 @@ _mm512_maskz_subs_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
|
|
|
1016
1016
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
1017
1017
|
_mm512_subs_epu16 (__m512i __A, __m512i __B)
|
|
1018
1018
|
{
|
|
1019
|
-
return (__m512i)
|
|
1019
|
+
return (__m512i)__builtin_elementwise_sub_sat((__v32hu) __A, (__v32hu) __B);
|
|
1020
1020
|
}
|
|
1021
1021
|
|
|
1022
1022
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -1506,7 +1506,7 @@ _mm512_maskz_sll_epi16(__mmask32 __U, __m512i __A, __m128i __B)
|
|
|
1506
1506
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
1507
1507
|
_mm512_slli_epi16(__m512i __A, unsigned int __B)
|
|
1508
1508
|
{
|
|
1509
|
-
return (__m512i)__builtin_ia32_psllwi512((__v32hi)__A, __B);
|
|
1509
|
+
return (__m512i)__builtin_ia32_psllwi512((__v32hi)__A, (int)__B);
|
|
1510
1510
|
}
|
|
1511
1511
|
|
|
1512
1512
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -1598,7 +1598,7 @@ _mm512_maskz_sra_epi16(__mmask32 __U, __m512i __A, __m128i __B)
|
|
|
1598
1598
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
1599
1599
|
_mm512_srai_epi16(__m512i __A, unsigned int __B)
|
|
1600
1600
|
{
|
|
1601
|
-
return (__m512i)__builtin_ia32_psrawi512((__v32hi)__A, __B);
|
|
1601
|
+
return (__m512i)__builtin_ia32_psrawi512((__v32hi)__A, (int)__B);
|
|
1602
1602
|
}
|
|
1603
1603
|
|
|
1604
1604
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -1643,7 +1643,7 @@ _mm512_maskz_srl_epi16(__mmask32 __U, __m512i __A, __m128i __B)
|
|
|
1643
1643
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
1644
1644
|
_mm512_srli_epi16(__m512i __A, unsigned int __B)
|
|
1645
1645
|
{
|
|
1646
|
-
return (__m512i)__builtin_ia32_psrlwi512((__v32hi)__A, __B);
|
|
1646
|
+
return (__m512i)__builtin_ia32_psrlwi512((__v32hi)__A, (int)__B);
|
|
1647
1647
|
}
|
|
1648
1648
|
|
|
1649
1649
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -1659,7 +1659,7 @@ static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
|
1659
1659
|
_mm512_maskz_srli_epi16(__mmask32 __U, __m512i __A, int __B)
|
|
1660
1660
|
{
|
|
1661
1661
|
return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
|
|
1662
|
-
(__v32hi)_mm512_srli_epi16(__A, __B),
|
|
1662
|
+
(__v32hi)_mm512_srli_epi16(__A, (unsigned int)__B),
|
|
1663
1663
|
(__v32hi)_mm512_setzero_si512());
|
|
1664
1664
|
}
|
|
1665
1665
|
|
|
@@ -256,8 +256,8 @@ _mm512_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
|
|
|
256
256
|
static __inline __m512 __DEFAULT_FN_ATTRS512
|
|
257
257
|
_mm512_setzero_ps(void)
|
|
258
258
|
{
|
|
259
|
-
return __extension__ (__m512){ 0.
|
|
260
|
-
0.
|
|
259
|
+
return __extension__ (__m512){ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
|
|
260
|
+
0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f };
|
|
261
261
|
}
|
|
262
262
|
|
|
263
263
|
#define _mm512_setzero _mm512_setzero_ps
|
|
@@ -1780,7 +1780,7 @@ _mm512_floor_ps(__m512 __A)
|
|
|
1780
1780
|
{
|
|
1781
1781
|
return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
|
|
1782
1782
|
_MM_FROUND_FLOOR,
|
|
1783
|
-
(__v16sf) __A, -1,
|
|
1783
|
+
(__v16sf) __A, (unsigned short)-1,
|
|
1784
1784
|
_MM_FROUND_CUR_DIRECTION);
|
|
1785
1785
|
}
|
|
1786
1786
|
|
|
@@ -1798,7 +1798,7 @@ _mm512_floor_pd(__m512d __A)
|
|
|
1798
1798
|
{
|
|
1799
1799
|
return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
|
|
1800
1800
|
_MM_FROUND_FLOOR,
|
|
1801
|
-
(__v8df) __A, -1,
|
|
1801
|
+
(__v8df) __A, (unsigned char)-1,
|
|
1802
1802
|
_MM_FROUND_CUR_DIRECTION);
|
|
1803
1803
|
}
|
|
1804
1804
|
|
|
@@ -1825,7 +1825,7 @@ _mm512_ceil_ps(__m512 __A)
|
|
|
1825
1825
|
{
|
|
1826
1826
|
return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
|
|
1827
1827
|
_MM_FROUND_CEIL,
|
|
1828
|
-
(__v16sf) __A, -1,
|
|
1828
|
+
(__v16sf) __A, (unsigned short)-1,
|
|
1829
1829
|
_MM_FROUND_CUR_DIRECTION);
|
|
1830
1830
|
}
|
|
1831
1831
|
|
|
@@ -1834,7 +1834,7 @@ _mm512_ceil_pd(__m512d __A)
|
|
|
1834
1834
|
{
|
|
1835
1835
|
return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
|
|
1836
1836
|
_MM_FROUND_CEIL,
|
|
1837
|
-
(__v8df) __A, -1,
|
|
1837
|
+
(__v8df) __A, (unsigned char)-1,
|
|
1838
1838
|
_MM_FROUND_CUR_DIRECTION);
|
|
1839
1839
|
}
|
|
1840
1840
|
|
|
@@ -5117,7 +5117,7 @@ _mm512_maskz_rolv_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
|
|
|
5117
5117
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
5118
5118
|
_mm512_slli_epi32(__m512i __A, unsigned int __B)
|
|
5119
5119
|
{
|
|
5120
|
-
return (__m512i)__builtin_ia32_pslldi512((__v16si)__A, __B);
|
|
5120
|
+
return (__m512i)__builtin_ia32_pslldi512((__v16si)__A, (int)__B);
|
|
5121
5121
|
}
|
|
5122
5122
|
|
|
5123
5123
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -5139,7 +5139,7 @@ _mm512_maskz_slli_epi32(__mmask16 __U, __m512i __A, unsigned int __B) {
|
|
|
5139
5139
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
5140
5140
|
_mm512_slli_epi64(__m512i __A, unsigned int __B)
|
|
5141
5141
|
{
|
|
5142
|
-
return (__m512i)__builtin_ia32_psllqi512((__v8di)__A, __B);
|
|
5142
|
+
return (__m512i)__builtin_ia32_psllqi512((__v8di)__A, (int)__B);
|
|
5143
5143
|
}
|
|
5144
5144
|
|
|
5145
5145
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -5161,7 +5161,7 @@ _mm512_maskz_slli_epi64(__mmask8 __U, __m512i __A, unsigned int __B)
|
|
|
5161
5161
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
5162
5162
|
_mm512_srli_epi32(__m512i __A, unsigned int __B)
|
|
5163
5163
|
{
|
|
5164
|
-
return (__m512i)__builtin_ia32_psrldi512((__v16si)__A, __B);
|
|
5164
|
+
return (__m512i)__builtin_ia32_psrldi512((__v16si)__A, (int)__B);
|
|
5165
5165
|
}
|
|
5166
5166
|
|
|
5167
5167
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -5183,7 +5183,7 @@ _mm512_maskz_srli_epi32(__mmask16 __U, __m512i __A, unsigned int __B) {
|
|
|
5183
5183
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
5184
5184
|
_mm512_srli_epi64(__m512i __A, unsigned int __B)
|
|
5185
5185
|
{
|
|
5186
|
-
return (__m512i)__builtin_ia32_psrlqi512((__v8di)__A, __B);
|
|
5186
|
+
return (__m512i)__builtin_ia32_psrlqi512((__v8di)__A, (int)__B);
|
|
5187
5187
|
}
|
|
5188
5188
|
|
|
5189
5189
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -5929,41 +5929,44 @@ _mm512_maskz_srlv_epi64(__mmask8 __U, __m512i __X, __m512i __Y)
|
|
|
5929
5929
|
(__v8di)_mm512_setzero_si512());
|
|
5930
5930
|
}
|
|
5931
5931
|
|
|
5932
|
-
|
|
5933
|
-
|
|
5934
|
-
|
|
5935
|
-
|
|
5936
|
-
|
|
5937
|
-
|
|
5938
|
-
|
|
5939
|
-
|
|
5940
|
-
|
|
5941
|
-
|
|
5942
|
-
|
|
5943
|
-
|
|
5944
|
-
|
|
5945
|
-
|
|
5946
|
-
|
|
5947
|
-
|
|
5948
|
-
|
|
5949
|
-
|
|
5950
|
-
|
|
5951
|
-
|
|
5952
|
-
|
|
5953
|
-
|
|
5954
|
-
|
|
5955
|
-
|
|
5956
|
-
#define
|
|
5957
|
-
((__m512i)__builtin_ia32_pternlogq512_mask(
|
|
5958
|
-
|
|
5959
|
-
|
|
5960
|
-
|
|
5961
|
-
|
|
5962
|
-
|
|
5963
|
-
|
|
5964
|
-
|
|
5965
|
-
|
|
5966
|
-
|
|
5932
|
+
/// \enum _MM_TERNLOG_ENUM
|
|
5933
|
+
/// A helper to represent the ternary logic operations among vector \a A,
|
|
5934
|
+
/// \a B and \a C. The representation is passed to \a imm.
|
|
5935
|
+
typedef enum {
|
|
5936
|
+
_MM_TERNLOG_A = 0xF0,
|
|
5937
|
+
_MM_TERNLOG_B = 0xCC,
|
|
5938
|
+
_MM_TERNLOG_C = 0xAA
|
|
5939
|
+
} _MM_TERNLOG_ENUM;
|
|
5940
|
+
|
|
5941
|
+
#define _mm512_ternarylogic_epi32(A, B, C, imm) \
|
|
5942
|
+
((__m512i)__builtin_ia32_pternlogd512_mask( \
|
|
5943
|
+
(__v16si)(__m512i)(A), (__v16si)(__m512i)(B), (__v16si)(__m512i)(C), \
|
|
5944
|
+
(unsigned char)(imm), (__mmask16)-1))
|
|
5945
|
+
|
|
5946
|
+
#define _mm512_mask_ternarylogic_epi32(A, U, B, C, imm) \
|
|
5947
|
+
((__m512i)__builtin_ia32_pternlogd512_mask( \
|
|
5948
|
+
(__v16si)(__m512i)(A), (__v16si)(__m512i)(B), (__v16si)(__m512i)(C), \
|
|
5949
|
+
(unsigned char)(imm), (__mmask16)(U)))
|
|
5950
|
+
|
|
5951
|
+
#define _mm512_maskz_ternarylogic_epi32(U, A, B, C, imm) \
|
|
5952
|
+
((__m512i)__builtin_ia32_pternlogd512_maskz( \
|
|
5953
|
+
(__v16si)(__m512i)(A), (__v16si)(__m512i)(B), (__v16si)(__m512i)(C), \
|
|
5954
|
+
(unsigned char)(imm), (__mmask16)(U)))
|
|
5955
|
+
|
|
5956
|
+
#define _mm512_ternarylogic_epi64(A, B, C, imm) \
|
|
5957
|
+
((__m512i)__builtin_ia32_pternlogq512_mask( \
|
|
5958
|
+
(__v8di)(__m512i)(A), (__v8di)(__m512i)(B), (__v8di)(__m512i)(C), \
|
|
5959
|
+
(unsigned char)(imm), (__mmask8)-1))
|
|
5960
|
+
|
|
5961
|
+
#define _mm512_mask_ternarylogic_epi64(A, U, B, C, imm) \
|
|
5962
|
+
((__m512i)__builtin_ia32_pternlogq512_mask( \
|
|
5963
|
+
(__v8di)(__m512i)(A), (__v8di)(__m512i)(B), (__v8di)(__m512i)(C), \
|
|
5964
|
+
(unsigned char)(imm), (__mmask8)(U)))
|
|
5965
|
+
|
|
5966
|
+
#define _mm512_maskz_ternarylogic_epi64(U, A, B, C, imm) \
|
|
5967
|
+
((__m512i)__builtin_ia32_pternlogq512_maskz( \
|
|
5968
|
+
(__v8di)(__m512i)(A), (__v8di)(__m512i)(B), (__v8di)(__m512i)(C), \
|
|
5969
|
+
(unsigned char)(imm), (__mmask8)(U)))
|
|
5967
5970
|
|
|
5968
5971
|
#ifdef __x86_64__
|
|
5969
5972
|
#define _mm_cvt_roundsd_i64(A, R) \
|
|
@@ -6603,7 +6606,7 @@ _mm_maskz_scalef_ss (__mmask8 __U, __m128 __A, __m128 __B)
|
|
|
6603
6606
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
6604
6607
|
_mm512_srai_epi32(__m512i __A, unsigned int __B)
|
|
6605
6608
|
{
|
|
6606
|
-
return (__m512i)__builtin_ia32_psradi512((__v16si)__A, __B);
|
|
6609
|
+
return (__m512i)__builtin_ia32_psradi512((__v16si)__A, (int)__B);
|
|
6607
6610
|
}
|
|
6608
6611
|
|
|
6609
6612
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -6626,7 +6629,7 @@ _mm512_maskz_srai_epi32(__mmask16 __U, __m512i __A,
|
|
|
6626
6629
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
6627
6630
|
_mm512_srai_epi64(__m512i __A, unsigned int __B)
|
|
6628
6631
|
{
|
|
6629
|
-
return (__m512i)__builtin_ia32_psraqi512((__v8di)__A, __B);
|
|
6632
|
+
return (__m512i)__builtin_ia32_psraqi512((__v8di)__A, (int)__B);
|
|
6630
6633
|
}
|
|
6631
6634
|
|
|
6632
6635
|
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
@@ -9316,11 +9319,11 @@ _mm512_mask_abs_pd(__m512d __W, __mmask8 __K, __m512d __A)
|
|
|
9316
9319
|
*/
|
|
9317
9320
|
|
|
9318
9321
|
static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_add_epi64(__m512i __W) {
|
|
9319
|
-
return
|
|
9322
|
+
return __builtin_reduce_add((__v8di)__W);
|
|
9320
9323
|
}
|
|
9321
9324
|
|
|
9322
9325
|
static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_mul_epi64(__m512i __W) {
|
|
9323
|
-
return
|
|
9326
|
+
return __builtin_reduce_mul((__v8di)__W);
|
|
9324
9327
|
}
|
|
9325
9328
|
|
|
9326
9329
|
static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_and_epi64(__m512i __W) {
|
|
@@ -9334,18 +9337,18 @@ static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_or_epi64(__m512i
|
|
|
9334
9337
|
static __inline__ long long __DEFAULT_FN_ATTRS512
|
|
9335
9338
|
_mm512_mask_reduce_add_epi64(__mmask8 __M, __m512i __W) {
|
|
9336
9339
|
__W = _mm512_maskz_mov_epi64(__M, __W);
|
|
9337
|
-
return
|
|
9340
|
+
return __builtin_reduce_add((__v8di)__W);
|
|
9338
9341
|
}
|
|
9339
9342
|
|
|
9340
9343
|
static __inline__ long long __DEFAULT_FN_ATTRS512
|
|
9341
9344
|
_mm512_mask_reduce_mul_epi64(__mmask8 __M, __m512i __W) {
|
|
9342
9345
|
__W = _mm512_mask_mov_epi64(_mm512_set1_epi64(1), __M, __W);
|
|
9343
|
-
return
|
|
9346
|
+
return __builtin_reduce_mul((__v8di)__W);
|
|
9344
9347
|
}
|
|
9345
9348
|
|
|
9346
9349
|
static __inline__ long long __DEFAULT_FN_ATTRS512
|
|
9347
9350
|
_mm512_mask_reduce_and_epi64(__mmask8 __M, __m512i __W) {
|
|
9348
|
-
__W = _mm512_mask_mov_epi64(_mm512_set1_epi64(
|
|
9351
|
+
__W = _mm512_mask_mov_epi64(_mm512_set1_epi64(-1LL), __M, __W);
|
|
9349
9352
|
return __builtin_reduce_and((__v8di)__W);
|
|
9350
9353
|
}
|
|
9351
9354
|
|
|
@@ -9380,12 +9383,12 @@ _mm512_mask_reduce_mul_pd(__mmask8 __M, __m512d __W) {
|
|
|
9380
9383
|
|
|
9381
9384
|
static __inline__ int __DEFAULT_FN_ATTRS512
|
|
9382
9385
|
_mm512_reduce_add_epi32(__m512i __W) {
|
|
9383
|
-
return
|
|
9386
|
+
return __builtin_reduce_add((__v16si)__W);
|
|
9384
9387
|
}
|
|
9385
9388
|
|
|
9386
9389
|
static __inline__ int __DEFAULT_FN_ATTRS512
|
|
9387
9390
|
_mm512_reduce_mul_epi32(__m512i __W) {
|
|
9388
|
-
return
|
|
9391
|
+
return __builtin_reduce_mul((__v16si)__W);
|
|
9389
9392
|
}
|
|
9390
9393
|
|
|
9391
9394
|
static __inline__ int __DEFAULT_FN_ATTRS512
|
|
@@ -9401,18 +9404,18 @@ _mm512_reduce_or_epi32(__m512i __W) {
|
|
|
9401
9404
|
static __inline__ int __DEFAULT_FN_ATTRS512
|
|
9402
9405
|
_mm512_mask_reduce_add_epi32( __mmask16 __M, __m512i __W) {
|
|
9403
9406
|
__W = _mm512_maskz_mov_epi32(__M, __W);
|
|
9404
|
-
return
|
|
9407
|
+
return __builtin_reduce_add((__v16si)__W);
|
|
9405
9408
|
}
|
|
9406
9409
|
|
|
9407
9410
|
static __inline__ int __DEFAULT_FN_ATTRS512
|
|
9408
9411
|
_mm512_mask_reduce_mul_epi32( __mmask16 __M, __m512i __W) {
|
|
9409
9412
|
__W = _mm512_mask_mov_epi32(_mm512_set1_epi32(1), __M, __W);
|
|
9410
|
-
return
|
|
9413
|
+
return __builtin_reduce_mul((__v16si)__W);
|
|
9411
9414
|
}
|
|
9412
9415
|
|
|
9413
9416
|
static __inline__ int __DEFAULT_FN_ATTRS512
|
|
9414
9417
|
_mm512_mask_reduce_and_epi32( __mmask16 __M, __m512i __W) {
|
|
9415
|
-
__W = _mm512_mask_mov_epi32(_mm512_set1_epi32(
|
|
9418
|
+
__W = _mm512_mask_mov_epi32(_mm512_set1_epi32(-1), __M, __W);
|
|
9416
9419
|
return __builtin_reduce_and((__v16si)__W);
|
|
9417
9420
|
}
|
|
9418
9421
|
|
|
@@ -9484,7 +9487,7 @@ _mm512_mask_reduce_min_epi64(__mmask8 __M, __m512i __V) {
|
|
|
9484
9487
|
|
|
9485
9488
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS512
|
|
9486
9489
|
_mm512_mask_reduce_min_epu64(__mmask8 __M, __m512i __V) {
|
|
9487
|
-
__V = _mm512_mask_mov_epi64(_mm512_set1_epi64(
|
|
9490
|
+
__V = _mm512_mask_mov_epi64(_mm512_set1_epi64(-1LL), __M, __V);
|
|
9488
9491
|
return __builtin_reduce_min((__v8du)__V);
|
|
9489
9492
|
}
|
|
9490
9493
|
static __inline__ int __DEFAULT_FN_ATTRS512
|
|
@@ -9527,7 +9530,7 @@ _mm512_mask_reduce_min_epi32(__mmask16 __M, __m512i __V) {
|
|
|
9527
9530
|
|
|
9528
9531
|
static __inline__ unsigned int __DEFAULT_FN_ATTRS512
|
|
9529
9532
|
_mm512_mask_reduce_min_epu32(__mmask16 __M, __m512i __V) {
|
|
9530
|
-
__V = _mm512_mask_mov_epi32(_mm512_set1_epi32(
|
|
9533
|
+
__V = _mm512_mask_mov_epi32(_mm512_set1_epi32(-1), __M, __V);
|
|
9531
9534
|
return __builtin_reduce_min((__v16su)__V);
|
|
9532
9535
|
}
|
|
9533
9536
|
|
|
@@ -9598,7 +9601,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
|
|
|
9598
9601
|
///
|
|
9599
9602
|
/// This intrinsic corresponds to the <c> VGATHERDPD </c> instructions.
|
|
9600
9603
|
///
|
|
9601
|
-
/// \operation
|
|
9604
|
+
/// \code{.operation}
|
|
9602
9605
|
/// FOR j := 0 to 7
|
|
9603
9606
|
/// i := j*64
|
|
9604
9607
|
/// m := j*32
|
|
@@ -9606,7 +9609,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
|
|
|
9606
9609
|
/// dst[i+63:i] := MEM[addr+63:addr]
|
|
9607
9610
|
/// ENDFOR
|
|
9608
9611
|
/// dst[MAX:512] := 0
|
|
9609
|
-
/// \
|
|
9612
|
+
/// \endcode
|
|
9610
9613
|
#define _mm512_i32logather_pd(vindex, base_addr, scale) \
|
|
9611
9614
|
_mm512_i32gather_pd(_mm512_castsi512_si256(vindex), (base_addr), (scale))
|
|
9612
9615
|
|
|
@@ -9618,7 +9621,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
|
|
|
9618
9621
|
///
|
|
9619
9622
|
/// This intrinsic corresponds to the <c> VGATHERDPD </c> instructions.
|
|
9620
9623
|
///
|
|
9621
|
-
/// \operation
|
|
9624
|
+
/// \code{.operation}
|
|
9622
9625
|
/// FOR j := 0 to 7
|
|
9623
9626
|
/// i := j*64
|
|
9624
9627
|
/// m := j*32
|
|
@@ -9630,7 +9633,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
|
|
|
9630
9633
|
/// FI
|
|
9631
9634
|
/// ENDFOR
|
|
9632
9635
|
/// dst[MAX:512] := 0
|
|
9633
|
-
/// \
|
|
9636
|
+
/// \endcode
|
|
9634
9637
|
#define _mm512_mask_i32logather_pd(src, mask, vindex, base_addr, scale) \
|
|
9635
9638
|
_mm512_mask_i32gather_pd((src), (mask), _mm512_castsi512_si256(vindex), \
|
|
9636
9639
|
(base_addr), (scale))
|
|
@@ -9641,7 +9644,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
|
|
|
9641
9644
|
///
|
|
9642
9645
|
/// This intrinsic corresponds to the <c> VPGATHERDQ </c> instructions.
|
|
9643
9646
|
///
|
|
9644
|
-
/// \operation
|
|
9647
|
+
/// \code{.operation}
|
|
9645
9648
|
/// FOR j := 0 to 7
|
|
9646
9649
|
/// i := j*64
|
|
9647
9650
|
/// m := j*32
|
|
@@ -9649,7 +9652,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
|
|
|
9649
9652
|
/// dst[i+63:i] := MEM[addr+63:addr]
|
|
9650
9653
|
/// ENDFOR
|
|
9651
9654
|
/// dst[MAX:512] := 0
|
|
9652
|
-
/// \
|
|
9655
|
+
/// \endcode
|
|
9653
9656
|
#define _mm512_i32logather_epi64(vindex, base_addr, scale) \
|
|
9654
9657
|
_mm512_i32gather_epi64(_mm512_castsi512_si256(vindex), (base_addr), (scale))
|
|
9655
9658
|
|
|
@@ -9660,7 +9663,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
|
|
|
9660
9663
|
///
|
|
9661
9664
|
/// This intrinsic corresponds to the <c> VPGATHERDQ </c> instructions.
|
|
9662
9665
|
///
|
|
9663
|
-
/// \operation
|
|
9666
|
+
/// \code{.operation}
|
|
9664
9667
|
/// FOR j := 0 to 7
|
|
9665
9668
|
/// i := j*64
|
|
9666
9669
|
/// m := j*32
|
|
@@ -9672,7 +9675,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
|
|
|
9672
9675
|
/// FI
|
|
9673
9676
|
/// ENDFOR
|
|
9674
9677
|
/// dst[MAX:512] := 0
|
|
9675
|
-
/// \
|
|
9678
|
+
/// \endcode
|
|
9676
9679
|
#define _mm512_mask_i32logather_epi64(src, mask, vindex, base_addr, scale) \
|
|
9677
9680
|
_mm512_mask_i32gather_epi64((src), (mask), _mm512_castsi512_si256(vindex), \
|
|
9678
9681
|
(base_addr), (scale))
|
|
@@ -9683,14 +9686,14 @@ _mm512_cvtsi512_si32(__m512i __A) {
|
|
|
9683
9686
|
///
|
|
9684
9687
|
/// This intrinsic corresponds to the <c> VSCATTERDPD </c> instructions.
|
|
9685
9688
|
///
|
|
9686
|
-
/// \operation
|
|
9689
|
+
/// \code{.operation}
|
|
9687
9690
|
/// FOR j := 0 to 7
|
|
9688
9691
|
/// i := j*64
|
|
9689
9692
|
/// m := j*32
|
|
9690
9693
|
/// addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
|
|
9691
9694
|
/// MEM[addr+63:addr] := v1[i+63:i]
|
|
9692
9695
|
/// ENDFOR
|
|
9693
|
-
/// \
|
|
9696
|
+
/// \endcode
|
|
9694
9697
|
#define _mm512_i32loscatter_pd(base_addr, vindex, v1, scale) \
|
|
9695
9698
|
_mm512_i32scatter_pd((base_addr), _mm512_castsi512_si256(vindex), (v1), (scale))
|
|
9696
9699
|
|
|
@@ -9702,7 +9705,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
|
|
|
9702
9705
|
///
|
|
9703
9706
|
/// This intrinsic corresponds to the <c> VSCATTERDPD </c> instructions.
|
|
9704
9707
|
///
|
|
9705
|
-
/// \operation
|
|
9708
|
+
/// \code{.operation}
|
|
9706
9709
|
/// FOR j := 0 to 7
|
|
9707
9710
|
/// i := j*64
|
|
9708
9711
|
/// m := j*32
|
|
@@ -9711,7 +9714,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
|
|
|
9711
9714
|
/// MEM[addr+63:addr] := a[i+63:i]
|
|
9712
9715
|
/// FI
|
|
9713
9716
|
/// ENDFOR
|
|
9714
|
-
/// \
|
|
9717
|
+
/// \endcode
|
|
9715
9718
|
#define _mm512_mask_i32loscatter_pd(base_addr, mask, vindex, v1, scale) \
|
|
9716
9719
|
_mm512_mask_i32scatter_pd((base_addr), (mask), \
|
|
9717
9720
|
_mm512_castsi512_si256(vindex), (v1), (scale))
|
|
@@ -9722,14 +9725,14 @@ _mm512_cvtsi512_si32(__m512i __A) {
|
|
|
9722
9725
|
///
|
|
9723
9726
|
/// This intrinsic corresponds to the <c> VPSCATTERDQ </c> instructions.
|
|
9724
9727
|
///
|
|
9725
|
-
/// \operation
|
|
9728
|
+
/// \code{.operation}
|
|
9726
9729
|
/// FOR j := 0 to 7
|
|
9727
9730
|
/// i := j*64
|
|
9728
9731
|
/// m := j*32
|
|
9729
9732
|
/// addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
|
|
9730
9733
|
/// MEM[addr+63:addr] := a[i+63:i]
|
|
9731
9734
|
/// ENDFOR
|
|
9732
|
-
/// \
|
|
9735
|
+
/// \endcode
|
|
9733
9736
|
#define _mm512_i32loscatter_epi64(base_addr, vindex, v1, scale) \
|
|
9734
9737
|
_mm512_i32scatter_epi64((base_addr), \
|
|
9735
9738
|
_mm512_castsi512_si256(vindex), (v1), (scale))
|
|
@@ -9741,7 +9744,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
|
|
|
9741
9744
|
///
|
|
9742
9745
|
/// This intrinsic corresponds to the <c> VPSCATTERDQ </c> instructions.
|
|
9743
9746
|
///
|
|
9744
|
-
/// \operation
|
|
9747
|
+
/// \code{.operation}
|
|
9745
9748
|
/// FOR j := 0 to 7
|
|
9746
9749
|
/// i := j*64
|
|
9747
9750
|
/// m := j*32
|
|
@@ -9750,7 +9753,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
|
|
|
9750
9753
|
/// MEM[addr+63:addr] := a[i+63:i]
|
|
9751
9754
|
/// FI
|
|
9752
9755
|
/// ENDFOR
|
|
9753
|
-
/// \
|
|
9756
|
+
/// \endcode
|
|
9754
9757
|
#define _mm512_mask_i32loscatter_epi64(base_addr, mask, vindex, v1, scale) \
|
|
9755
9758
|
_mm512_mask_i32scatter_epi64((base_addr), (mask), \
|
|
9756
9759
|
_mm512_castsi512_si256(vindex), (v1), (scale))
|