@cpp-linter/clang-tidy-linux-arm64 18.1.5 → 20.1.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 +2 -2
- package/lib/clang/{18 → 20}/include/__clang_cuda_device_functions.h +14 -0
- package/lib/clang/{18 → 20}/include/__clang_cuda_intrinsics.h +1 -3
- package/lib/clang/{18 → 20}/include/__clang_cuda_math.h +5 -0
- package/lib/clang/{18 → 20}/include/__clang_hip_cmath.h +6 -1
- package/lib/clang/{18 → 20}/include/__clang_hip_math.h +5 -0
- package/lib/clang/20/include/__stdarg_header_macro.h +12 -0
- package/lib/clang/20/include/__stddef_header_macro.h +12 -0
- package/lib/clang/{18 → 20}/include/adcintrin.h +5 -0
- package/lib/clang/{18 → 20}/include/adxintrin.h +5 -0
- package/lib/clang/{18 → 20}/include/altivec.h +8 -8
- package/lib/clang/20/include/amdgpuintrin.h +194 -0
- package/lib/clang/20/include/amxavx512intrin.h +382 -0
- package/lib/clang/20/include/amxbf16transposeintrin.h +94 -0
- package/lib/clang/20/include/amxcomplextransposeintrin.h +303 -0
- package/lib/clang/{18 → 20}/include/amxfp16intrin.h +35 -0
- package/lib/clang/20/include/amxfp16transposeintrin.h +94 -0
- package/lib/clang/20/include/amxfp8intrin.h +230 -0
- package/lib/clang/{18 → 20}/include/amxintrin.h +5 -35
- package/lib/clang/20/include/amxmovrsintrin.h +48 -0
- package/lib/clang/20/include/amxmovrstransposeintrin.h +200 -0
- package/lib/clang/20/include/amxtf32intrin.h +108 -0
- package/lib/clang/20/include/amxtf32transposeintrin.h +105 -0
- package/lib/clang/20/include/amxtransposeintrin.h +248 -0
- package/lib/clang/{18 → 20}/include/arm_acle.h +49 -26
- package/lib/clang/{18 → 20}/include/arm_fp16.h +1 -1
- package/lib/clang/{18 → 20}/include/arm_neon.h +45631 -43745
- package/lib/clang/{18 → 20}/include/arm_sme.h +641 -6
- package/lib/clang/{18 → 20}/include/arm_sve.h +28311 -27738
- package/lib/clang/{18 → 20}/include/arm_vector_types.h +92 -5
- package/lib/clang/20/include/avx10_2_512bf16intrin.h +561 -0
- package/lib/clang/20/include/avx10_2_512convertintrin.h +320 -0
- package/lib/clang/20/include/avx10_2_512minmaxintrin.h +127 -0
- package/lib/clang/20/include/avx10_2_512niintrin.h +314 -0
- package/lib/clang/20/include/avx10_2_512satcvtdsintrin.h +303 -0
- package/lib/clang/20/include/avx10_2_512satcvtintrin.h +301 -0
- package/lib/clang/20/include/avx10_2bf16intrin.h +1085 -0
- package/lib/clang/20/include/avx10_2convertintrin.h +589 -0
- package/lib/clang/20/include/avx10_2copyintrin.h +66 -0
- package/lib/clang/20/include/avx10_2minmaxintrin.h +277 -0
- package/lib/clang/20/include/avx10_2niintrin.h +2075 -0
- package/lib/clang/20/include/avx10_2satcvtdsintrin.h +496 -0
- package/lib/clang/20/include/avx10_2satcvtintrin.h +444 -0
- package/lib/clang/{18 → 20}/include/avx2intrin.h +9 -0
- package/lib/clang/{18 → 20}/include/avx512bitalgintrin.h +2 -2
- package/lib/clang/{18 → 20}/include/avx512fintrin.h +22 -14
- package/lib/clang/{18 → 20}/include/avx512fp16intrin.h +38 -38
- package/lib/clang/{18 → 20}/include/avx512vlbitalgintrin.h +4 -4
- package/lib/clang/{18 → 20}/include/avx512vpopcntdqintrin.h +12 -4
- package/lib/clang/{18 → 20}/include/avx512vpopcntdqvlintrin.h +16 -8
- package/lib/clang/{18 → 20}/include/avxintrin.h +88 -60
- package/lib/clang/{18 → 20}/include/avxvnniint16intrin.h +36 -77
- package/lib/clang/{18 → 20}/include/avxvnniint8intrin.h +36 -77
- package/lib/clang/{18 → 20}/include/bmi2intrin.h +15 -17
- package/lib/clang/{18 → 20}/include/bmiintrin.h +33 -41
- package/lib/clang/{18 → 20}/include/builtins.h +3 -0
- package/lib/clang/{18 → 20}/include/cmpccxaddintrin.h +1 -1
- package/lib/clang/{18 → 20}/include/cpuid.h +35 -14
- package/lib/clang/{18 → 20}/include/cuda_wrappers/algorithm +1 -1
- package/lib/clang/{18 → 20}/include/cuda_wrappers/cmath +4 -0
- package/lib/clang/{18 → 20}/include/cuda_wrappers/new +2 -0
- package/lib/clang/{18 → 20}/include/emmintrin.h +442 -277
- package/lib/clang/{18 → 20}/include/float.h +28 -0
- package/lib/clang/{18 → 20}/include/fmaintrin.h +32 -16
- package/lib/clang/{18 → 20}/include/gfniintrin.h +32 -10
- package/lib/clang/20/include/gpuintrin.h +224 -0
- package/lib/clang/{18 → 20}/include/hexagon_types.h +8 -4
- package/lib/clang/{18 → 20}/include/hlsl/hlsl_basic_types.h +57 -4
- package/lib/clang/20/include/hlsl/hlsl_detail.h +84 -0
- package/lib/clang/20/include/hlsl/hlsl_intrinsics.h +2814 -0
- package/lib/clang/{18 → 20}/include/hlsl.h +11 -0
- package/lib/clang/{18 → 20}/include/hvx_hexagon_protos.h +427 -0
- package/lib/clang/{18 → 20}/include/ia32intrin.h +36 -36
- package/lib/clang/{18 → 20}/include/immintrin.h +171 -161
- package/lib/clang/{18 → 20}/include/intrin.h +62 -228
- package/lib/clang/20/include/intrin0.h +256 -0
- package/lib/clang/{18 → 20}/include/inttypes.h +4 -0
- package/lib/clang/{18 → 20}/include/iso646.h +4 -0
- package/lib/clang/{18 → 20}/include/keylockerintrin.h +5 -8
- package/lib/clang/{18 → 20}/include/larchintrin.h +22 -8
- package/lib/clang/{18 → 20}/include/lasxintrin.h +27 -25
- package/lib/clang/{18 → 20}/include/limits.h +12 -4
- package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/assert.h +1 -1
- package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/ctype.h +38 -0
- package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/stdlib.h +8 -0
- package/lib/clang/20/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
- package/lib/clang/20/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
- package/lib/clang/20/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
- package/lib/clang/{18 → 20}/include/lsxintrin.h +27 -25
- package/lib/clang/{18 → 20}/include/lzcntintrin.h +10 -7
- package/lib/clang/20/include/mm3dnow.h +22 -0
- package/lib/clang/{18 → 20}/include/mmintrin.h +285 -239
- package/lib/clang/{18 → 20}/include/module.modulemap +16 -5
- package/lib/clang/20/include/movrs_avx10_2_512intrin.h +98 -0
- package/lib/clang/20/include/movrs_avx10_2intrin.h +174 -0
- package/lib/clang/20/include/movrsintrin.h +59 -0
- package/lib/clang/20/include/nvptxintrin.h +202 -0
- package/lib/clang/{18 → 20}/include/opencl-c-base.h +8 -0
- package/lib/clang/{18 → 20}/include/opencl-c.h +15 -0
- package/lib/clang/{18 → 20}/include/openmp_wrappers/__clang_openmp_device_functions.h +4 -5
- package/lib/clang/{18 → 20}/include/openmp_wrappers/complex_cmath.h +7 -2
- package/lib/clang/{18 → 20}/include/pmmintrin.h +16 -3
- package/lib/clang/{18 → 20}/include/popcntintrin.h +7 -7
- package/lib/clang/{18 → 20}/include/prfchwintrin.h +10 -8
- package/lib/clang/20/include/ptrauth.h +336 -0
- package/lib/clang/20/include/riscv_corev_alu.h +128 -0
- package/lib/clang/{18 → 20}/include/riscv_vector.h +0 -5
- package/lib/clang/20/include/sifive_vector.h +118 -0
- package/lib/clang/20/include/sm4evexintrin.h +32 -0
- package/lib/clang/{18 → 20}/include/smmintrin.h +18 -12
- package/lib/clang/{18 → 20}/include/stdarg.h +15 -19
- package/lib/clang/{18 → 20}/include/stdatomic.h +11 -1
- package/lib/clang/{18 → 20}/include/stdbool.h +5 -0
- package/lib/clang/{18 → 20}/include/stddef.h +38 -22
- package/lib/clang/{18 → 20}/include/stdint.h +5 -0
- package/lib/clang/{18 → 20}/include/stdnoreturn.h +6 -0
- package/lib/clang/{18 → 20}/include/tbmintrin.h +25 -37
- package/lib/clang/{18 → 20}/include/tmmintrin.h +84 -54
- package/lib/clang/{18 → 20}/include/varargs.h +5 -1
- package/lib/clang/{18 → 20}/include/vecintrin.h +1778 -60
- package/lib/clang/{18 → 20}/include/wasm_simd128.h +167 -21
- package/lib/clang/{18 → 20}/include/x86gprintrin.h +7 -14
- package/lib/clang/20/include/x86intrin.h +53 -0
- package/lib/clang/{18 → 20}/include/xmmintrin.h +455 -276
- package/lib/clang/20/include/yvals_core.h +25 -0
- package/lib/clang/20/include/zos_wrappers/builtins.h +18 -0
- package/package.json +6 -6
- package/lib/clang/18/include/avx512erintrin.h +0 -271
- package/lib/clang/18/include/avx512pfintrin.h +0 -92
- package/lib/clang/18/include/hlsl/hlsl_intrinsics.h +0 -624
- package/lib/clang/18/include/mm3dnow.h +0 -157
- package/lib/clang/18/include/sifive_vector.h +0 -16
- package/lib/clang/18/include/x86intrin.h +0 -67
- /package/lib/clang/{18 → 20}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{18 → 20}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{18 → 20}/include/__clang_cuda_complex_builtins.h +0 -0
- /package/lib/clang/{18 → 20}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{18 → 20}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{18 → 20}/include/__clang_cuda_runtime_wrapper.h +0 -0
- /package/lib/clang/{18 → 20}/include/__clang_cuda_texture_intrinsics.h +0 -0
- /package/lib/clang/{18 → 20}/include/__clang_hip_libdevice_declares.h +0 -0
- /package/lib/clang/{18 → 20}/include/__clang_hip_runtime_wrapper.h +0 -0
- /package/lib/clang/{18 → 20}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stdarg___gnuc_va_list.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stdarg___va_copy.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stdarg_va_arg.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stdarg_va_copy.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stdarg_va_list.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_null.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_nullptr_t.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_offsetof.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_ptrdiff_t.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_rsize_t.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_size_t.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_unreachable.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_wchar_t.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_wint_t.h +0 -0
- /package/lib/clang/{18 → 20}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{18 → 20}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{18 → 20}/include/ammintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/amxcomplexintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/arm64intr.h +0 -0
- /package/lib/clang/{18 → 20}/include/arm_bf16.h +0 -0
- /package/lib/clang/{18 → 20}/include/arm_cde.h +0 -0
- /package/lib/clang/{18 → 20}/include/arm_cmse.h +0 -0
- /package/lib/clang/{18 → 20}/include/arm_mve.h +0 -0
- /package/lib/clang/{18 → 20}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{18 → 20}/include/armintr.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512bf16intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512bwintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512cdintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512dqintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512ifmaintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512ifmavlintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vbmi2intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vbmiintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vbmivlintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vlbf16intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vlbwintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vlcdintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vldqintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vlfp16intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vlintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vlvbmi2intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vlvnniintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vnniintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vp2intersectintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avxifmaintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/cet.h +0 -0
- /package/lib/clang/{18 → 20}/include/cetintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/clwbintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/clzerointrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/crc32intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{18 → 20}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{18 → 20}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{18 → 20}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{18 → 20}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/f16cintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/fma4intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{18 → 20}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{18 → 20}/include/hresetintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/htmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/inttypes.h +0 -0
- /package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/stdio.h +0 -0
- /package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/string.h +0 -0
- /package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/time.h +0 -0
- /package/lib/clang/{18 → 20}/include/lwpintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/mm_malloc.h +0 -0
- /package/lib/clang/{18 → 20}/include/movdirintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/msa.h +0 -0
- /package/lib/clang/{18 → 20}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/nmmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{18 → 20}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{18 → 20}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{18 → 20}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{18 → 20}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{18 → 20}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/pkuintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/nmmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/smmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/raointintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/riscv_bitmanip.h +0 -0
- /package/lib/clang/{18 → 20}/include/riscv_crypto.h +0 -0
- /package/lib/clang/{18 → 20}/include/riscv_ntlh.h +0 -0
- /package/lib/clang/{18 → 20}/include/rtmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/s390intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/serializeintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/sgxintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/sha512intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/shaintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/sm3intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/sm4intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/stdalign.h +0 -0
- /package/lib/clang/{18 → 20}/include/stdckdint.h +0 -0
- /package/lib/clang/{18 → 20}/include/tgmath.h +0 -0
- /package/lib/clang/{18 → 20}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/uintrintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/unwind.h +0 -0
- /package/lib/clang/{18 → 20}/include/usermsrintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/vadefs.h +0 -0
- /package/lib/clang/{18 → 20}/include/vaesintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/velintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{18 → 20}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{18 → 20}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/wmmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/xopintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/xtestintrin.h +0 -0
|
@@ -15,14 +15,6 @@
|
|
|
15
15
|
#ifndef __AVXVNNIINT16INTRIN_H
|
|
16
16
|
#define __AVXVNNIINT16INTRIN_H
|
|
17
17
|
|
|
18
|
-
/* Define the default attributes for the functions in this file. */
|
|
19
|
-
#define __DEFAULT_FN_ATTRS128 \
|
|
20
|
-
__attribute__((__always_inline__, __nodebug__, __target__("avxvnniint16"), \
|
|
21
|
-
__min_vector_width__(128)))
|
|
22
|
-
#define __DEFAULT_FN_ATTRS256 \
|
|
23
|
-
__attribute__((__always_inline__, __nodebug__, __target__("avxvnniint16"), \
|
|
24
|
-
__min_vector_width__(256)))
|
|
25
|
-
|
|
26
18
|
/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a __A with
|
|
27
19
|
/// corresponding unsigned 16-bit integers in \a __B, producing 2 intermediate
|
|
28
20
|
/// signed 16-bit results. Sum these 2 results with the corresponding
|
|
@@ -53,12 +45,9 @@
|
|
|
53
45
|
/// ENDFOR
|
|
54
46
|
/// dst[MAX:128] := 0
|
|
55
47
|
/// \endcode
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
return (__m128i)__builtin_ia32_vpdpwsud128((__v4si)__W, (__v4si)__A,
|
|
60
|
-
(__v4si)__B);
|
|
61
|
-
}
|
|
48
|
+
#define _mm_dpwsud_epi32(__W, __A, __B) \
|
|
49
|
+
((__m128i)__builtin_ia32_vpdpwsud128((__v4si)(__W), (__v4si)(__A), \
|
|
50
|
+
(__v4si)(__B)))
|
|
62
51
|
|
|
63
52
|
/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a __A with
|
|
64
53
|
/// corresponding unsigned 16-bit integers in \a __B, producing 2 intermediate
|
|
@@ -90,11 +79,9 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_dpwsud_epi32(__m128i __W,
|
|
|
90
79
|
/// ENDFOR
|
|
91
80
|
/// dst[MAX:256] := 0
|
|
92
81
|
/// \endcode
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
(__v8si)__B);
|
|
97
|
-
}
|
|
82
|
+
#define _mm256_dpwsud_epi32(__W, __A, __B) \
|
|
83
|
+
((__m256i)__builtin_ia32_vpdpwsud256((__v8si)(__W), (__v8si)(__A), \
|
|
84
|
+
(__v8si)(__B)))
|
|
98
85
|
|
|
99
86
|
/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a __A with
|
|
100
87
|
/// corresponding unsigned 16-bit integers in \a __B, producing 2 intermediate
|
|
@@ -127,12 +114,9 @@ _mm256_dpwsud_epi32(__m256i __W, __m256i __A, __m256i __B) {
|
|
|
127
114
|
/// ENDFOR
|
|
128
115
|
/// dst[MAX:128] := 0
|
|
129
116
|
/// \endcode
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
return (__m128i)__builtin_ia32_vpdpwsuds128((__v4si)__W, (__v4si)__A,
|
|
134
|
-
(__v4si)__B);
|
|
135
|
-
}
|
|
117
|
+
#define _mm_dpwsuds_epi32(__W, __A, __B) \
|
|
118
|
+
((__m128i)__builtin_ia32_vpdpwsuds128((__v4si)(__W), (__v4si)(__A), \
|
|
119
|
+
(__v4si)(__B)))
|
|
136
120
|
|
|
137
121
|
/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a __A with
|
|
138
122
|
/// corresponding unsigned 16-bit integers in \a __B, producing 2 intermediate
|
|
@@ -165,11 +149,9 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_dpwsuds_epi32(__m128i __W,
|
|
|
165
149
|
/// ENDFOR
|
|
166
150
|
/// dst[MAX:256] := 0
|
|
167
151
|
/// \endcode
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
(__v8si)__B);
|
|
172
|
-
}
|
|
152
|
+
#define _mm256_dpwsuds_epi32(__W, __A, __B) \
|
|
153
|
+
((__m256i)__builtin_ia32_vpdpwsuds256((__v8si)(__W), (__v8si)(__A), \
|
|
154
|
+
(__v8si)(__B)))
|
|
173
155
|
|
|
174
156
|
/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A with
|
|
175
157
|
/// corresponding signed 16-bit integers in \a __B, producing 2 intermediate
|
|
@@ -201,12 +183,9 @@ _mm256_dpwsuds_epi32(__m256i __W, __m256i __A, __m256i __B) {
|
|
|
201
183
|
/// ENDFOR
|
|
202
184
|
/// dst[MAX:128] := 0
|
|
203
185
|
/// \endcode
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
return (__m128i)__builtin_ia32_vpdpwusd128((__v4si)__W, (__v4si)__A,
|
|
208
|
-
(__v4si)__B);
|
|
209
|
-
}
|
|
186
|
+
#define _mm_dpwusd_epi32(__W, __A, __B) \
|
|
187
|
+
((__m128i)__builtin_ia32_vpdpwusd128((__v4si)(__W), (__v4si)(__A), \
|
|
188
|
+
(__v4si)(__B)))
|
|
210
189
|
|
|
211
190
|
/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A with
|
|
212
191
|
/// corresponding signed 16-bit integers in \a __B, producing 2 intermediate
|
|
@@ -238,11 +217,9 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_dpwusd_epi32(__m128i __W,
|
|
|
238
217
|
/// ENDFOR
|
|
239
218
|
/// dst[MAX:256] := 0
|
|
240
219
|
/// \endcode
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
(__v8si)__B);
|
|
245
|
-
}
|
|
220
|
+
#define _mm256_dpwusd_epi32(__W, __A, __B) \
|
|
221
|
+
((__m256i)__builtin_ia32_vpdpwusd256((__v8si)(__W), (__v8si)(__A), \
|
|
222
|
+
(__v8si)(__B)))
|
|
246
223
|
|
|
247
224
|
/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A with
|
|
248
225
|
/// corresponding signed 16-bit integers in \a __B, producing 2 intermediate
|
|
@@ -275,12 +252,9 @@ _mm256_dpwusd_epi32(__m256i __W, __m256i __A, __m256i __B) {
|
|
|
275
252
|
/// ENDFOR
|
|
276
253
|
/// dst[MAX:128] := 0
|
|
277
254
|
/// \endcode
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
return (__m128i)__builtin_ia32_vpdpwusds128((__v4si)__W, (__v4si)__A,
|
|
282
|
-
(__v4si)__B);
|
|
283
|
-
}
|
|
255
|
+
#define _mm_dpwusds_epi32(__W, __A, __B) \
|
|
256
|
+
((__m128i)__builtin_ia32_vpdpwusds128((__v4si)(__W), (__v4si)(__A), \
|
|
257
|
+
(__v4si)(__B)))
|
|
284
258
|
|
|
285
259
|
/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A with
|
|
286
260
|
/// corresponding signed 16-bit integers in \a __B, producing 2 intermediate
|
|
@@ -313,11 +287,9 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_dpwusds_epi32(__m128i __W,
|
|
|
313
287
|
/// ENDFOR
|
|
314
288
|
/// dst[MAX:256] := 0
|
|
315
289
|
/// \endcode
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
(__v8si)__B);
|
|
320
|
-
}
|
|
290
|
+
#define _mm256_dpwusds_epi32(__W, __A, __B) \
|
|
291
|
+
((__m256i)__builtin_ia32_vpdpwusds256((__v8si)(__W), (__v8si)(__A), \
|
|
292
|
+
(__v8si)(__B)))
|
|
321
293
|
|
|
322
294
|
/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A with
|
|
323
295
|
/// corresponding unsigned 16-bit integers in \a __B, producing 2 intermediate
|
|
@@ -349,12 +321,9 @@ _mm256_dpwusds_epi32(__m256i __W, __m256i __A, __m256i __B) {
|
|
|
349
321
|
/// ENDFOR
|
|
350
322
|
/// dst[MAX:128] := 0
|
|
351
323
|
/// \endcode
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
return (__m128i)__builtin_ia32_vpdpwuud128((__v4si)__W, (__v4si)__A,
|
|
356
|
-
(__v4si)__B);
|
|
357
|
-
}
|
|
324
|
+
#define _mm_dpwuud_epi32(__W, __A, __B) \
|
|
325
|
+
((__m128i)__builtin_ia32_vpdpwuud128((__v4si)(__W), (__v4si)(__A), \
|
|
326
|
+
(__v4si)(__B)))
|
|
358
327
|
|
|
359
328
|
/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A with
|
|
360
329
|
/// corresponding unsigned 16-bit integers in \a __B, producing 2 intermediate
|
|
@@ -386,11 +355,9 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_dpwuud_epi32(__m128i __W,
|
|
|
386
355
|
/// ENDFOR
|
|
387
356
|
/// dst[MAX:256] := 0
|
|
388
357
|
/// \endcode
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
(__v8si)__B);
|
|
393
|
-
}
|
|
358
|
+
#define _mm256_dpwuud_epi32(__W, __A, __B) \
|
|
359
|
+
((__m256i)__builtin_ia32_vpdpwuud256((__v8si)(__W), (__v8si)(__A), \
|
|
360
|
+
(__v8si)(__B)))
|
|
394
361
|
|
|
395
362
|
/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A with
|
|
396
363
|
/// corresponding unsigned 16-bit integers in \a __B, producing 2 intermediate
|
|
@@ -423,12 +390,9 @@ _mm256_dpwuud_epi32(__m256i __W, __m256i __A, __m256i __B) {
|
|
|
423
390
|
/// ENDFOR
|
|
424
391
|
/// dst[MAX:128] := 0
|
|
425
392
|
/// \endcode
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
return (__m128i)__builtin_ia32_vpdpwuuds128((__v4si)__W, (__v4si)__A,
|
|
430
|
-
(__v4si)__B);
|
|
431
|
-
}
|
|
393
|
+
#define _mm_dpwuuds_epi32(__W, __A, __B) \
|
|
394
|
+
((__m128i)__builtin_ia32_vpdpwuuds128((__v4si)(__W), (__v4si)(__A), \
|
|
395
|
+
(__v4si)(__B)))
|
|
432
396
|
|
|
433
397
|
/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A with
|
|
434
398
|
/// corresponding unsigned 16-bit integers in \a __B, producing 2 intermediate
|
|
@@ -461,13 +425,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_dpwuuds_epi32(__m128i __W,
|
|
|
461
425
|
/// ENDFOR
|
|
462
426
|
/// dst[MAX:256] := 0
|
|
463
427
|
/// \endcode
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
(__v8si)__B);
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
#undef __DEFAULT_FN_ATTRS128
|
|
471
|
-
#undef __DEFAULT_FN_ATTRS256
|
|
428
|
+
#define _mm256_dpwuuds_epi32(__W, __A, __B) \
|
|
429
|
+
((__m256i)__builtin_ia32_vpdpwuuds256((__v8si)(__W), (__v8si)(__A), \
|
|
430
|
+
(__v8si)(__B)))
|
|
472
431
|
|
|
473
432
|
#endif // __AVXVNNIINT16INTRIN_H
|
|
@@ -14,14 +14,6 @@
|
|
|
14
14
|
#ifndef __AVXVNNIINT8INTRIN_H
|
|
15
15
|
#define __AVXVNNIINT8INTRIN_H
|
|
16
16
|
|
|
17
|
-
/* Define the default attributes for the functions in this file. */
|
|
18
|
-
#define __DEFAULT_FN_ATTRS256 \
|
|
19
|
-
__attribute__((__always_inline__, __nodebug__, __target__("avxvnniint8"), \
|
|
20
|
-
__min_vector_width__(256)))
|
|
21
|
-
#define __DEFAULT_FN_ATTRS128 \
|
|
22
|
-
__attribute__((__always_inline__, __nodebug__, __target__("avxvnniint8"), \
|
|
23
|
-
__min_vector_width__(128)))
|
|
24
|
-
|
|
25
17
|
/// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
|
|
26
18
|
/// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
|
|
27
19
|
/// signed 16-bit results. Sum these 4 results with the corresponding
|
|
@@ -52,12 +44,9 @@
|
|
|
52
44
|
/// ENDFOR
|
|
53
45
|
/// dst[MAX:128] := 0
|
|
54
46
|
/// \endcode
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return (__m128i)__builtin_ia32_vpdpbssd128((__v4si)__W, (__v4si)__A,
|
|
59
|
-
(__v4si)__B);
|
|
60
|
-
}
|
|
47
|
+
#define _mm_dpbssd_epi32(__W, __A, __B) \
|
|
48
|
+
((__m128i)__builtin_ia32_vpdpbssd128((__v4si)(__W), (__v4si)(__A), \
|
|
49
|
+
(__v4si)(__B)))
|
|
61
50
|
|
|
62
51
|
/// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
|
|
63
52
|
/// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
|
|
@@ -89,11 +78,9 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_dpbssd_epi32(__m128i __W,
|
|
|
89
78
|
/// ENDFOR
|
|
90
79
|
/// dst[MAX:256] := 0
|
|
91
80
|
/// \endcode
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
(__v8si)__B);
|
|
96
|
-
}
|
|
81
|
+
#define _mm256_dpbssd_epi32(__W, __A, __B) \
|
|
82
|
+
((__m256i)__builtin_ia32_vpdpbssd256((__v8si)(__W), (__v8si)(__A), \
|
|
83
|
+
(__v8si)(__B)))
|
|
97
84
|
|
|
98
85
|
/// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
|
|
99
86
|
/// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
|
|
@@ -126,12 +113,9 @@ _mm256_dpbssd_epi32(__m256i __W, __m256i __A, __m256i __B) {
|
|
|
126
113
|
/// ENDFOR
|
|
127
114
|
/// dst[MAX:128] := 0
|
|
128
115
|
/// \endcode
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
return (__m128i)__builtin_ia32_vpdpbssds128((__v4si)__W, (__v4si)__A,
|
|
133
|
-
(__v4si)__B);
|
|
134
|
-
}
|
|
116
|
+
#define _mm_dpbssds_epi32(__W, __A, __B) \
|
|
117
|
+
((__m128i)__builtin_ia32_vpdpbssds128((__v4si)(__W), (__v4si)(__A), \
|
|
118
|
+
(__v4si)(__B)))
|
|
135
119
|
|
|
136
120
|
/// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
|
|
137
121
|
/// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
|
|
@@ -164,11 +148,9 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_dpbssds_epi32(__m128i __W,
|
|
|
164
148
|
/// ENDFOR
|
|
165
149
|
/// dst[MAX:256] := 0
|
|
166
150
|
/// \endcode
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
(__v8si)__B);
|
|
171
|
-
}
|
|
151
|
+
#define _mm256_dpbssds_epi32(__W, __A, __B) \
|
|
152
|
+
((__m256i)__builtin_ia32_vpdpbssds256((__v8si)(__W), (__v8si)(__A), \
|
|
153
|
+
(__v8si)(__B)))
|
|
172
154
|
|
|
173
155
|
/// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
|
|
174
156
|
/// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
|
|
@@ -200,12 +182,9 @@ _mm256_dpbssds_epi32(__m256i __W, __m256i __A, __m256i __B) {
|
|
|
200
182
|
/// ENDFOR
|
|
201
183
|
/// dst[MAX:128] := 0
|
|
202
184
|
/// \endcode
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
return (__m128i)__builtin_ia32_vpdpbsud128((__v4si)__W, (__v4si)__A,
|
|
207
|
-
(__v4si)__B);
|
|
208
|
-
}
|
|
185
|
+
#define _mm_dpbsud_epi32(__W, __A, __B) \
|
|
186
|
+
((__m128i)__builtin_ia32_vpdpbsud128((__v4si)(__W), (__v4si)(__A), \
|
|
187
|
+
(__v4si)(__B)))
|
|
209
188
|
|
|
210
189
|
/// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
|
|
211
190
|
/// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
|
|
@@ -237,11 +216,9 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_dpbsud_epi32(__m128i __W,
|
|
|
237
216
|
/// ENDFOR
|
|
238
217
|
/// dst[MAX:256] := 0
|
|
239
218
|
/// \endcode
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
(__v8si)__B);
|
|
244
|
-
}
|
|
219
|
+
#define _mm256_dpbsud_epi32(__W, __A, __B) \
|
|
220
|
+
((__m256i)__builtin_ia32_vpdpbsud256((__v8si)(__W), (__v8si)(__A), \
|
|
221
|
+
(__v8si)(__B)))
|
|
245
222
|
|
|
246
223
|
/// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
|
|
247
224
|
/// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
|
|
@@ -274,12 +251,9 @@ _mm256_dpbsud_epi32(__m256i __W, __m256i __A, __m256i __B) {
|
|
|
274
251
|
/// ENDFOR
|
|
275
252
|
/// dst[MAX:128] := 0
|
|
276
253
|
/// \endcode
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
return (__m128i)__builtin_ia32_vpdpbsuds128((__v4si)__W, (__v4si)__A,
|
|
281
|
-
(__v4si)__B);
|
|
282
|
-
}
|
|
254
|
+
#define _mm_dpbsuds_epi32(__W, __A, __B) \
|
|
255
|
+
((__m128i)__builtin_ia32_vpdpbsuds128((__v4si)(__W), (__v4si)(__A), \
|
|
256
|
+
(__v4si)(__B)))
|
|
283
257
|
|
|
284
258
|
/// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
|
|
285
259
|
/// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
|
|
@@ -312,11 +286,9 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_dpbsuds_epi32(__m128i __W,
|
|
|
312
286
|
/// ENDFOR
|
|
313
287
|
/// dst[MAX:256] := 0
|
|
314
288
|
/// \endcode
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
(__v8si)__B);
|
|
319
|
-
}
|
|
289
|
+
#define _mm256_dpbsuds_epi32(__W, __A, __B) \
|
|
290
|
+
((__m256i)__builtin_ia32_vpdpbsuds256((__v8si)(__W), (__v8si)(__A), \
|
|
291
|
+
(__v8si)(__B)))
|
|
320
292
|
|
|
321
293
|
/// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
|
|
322
294
|
/// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
|
|
@@ -348,12 +320,9 @@ _mm256_dpbsuds_epi32(__m256i __W, __m256i __A, __m256i __B) {
|
|
|
348
320
|
/// ENDFOR
|
|
349
321
|
/// dst[MAX:128] := 0
|
|
350
322
|
/// \endcode
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
return (__m128i)__builtin_ia32_vpdpbuud128((__v4si)__W, (__v4si)__A,
|
|
355
|
-
(__v4si)__B);
|
|
356
|
-
}
|
|
323
|
+
#define _mm_dpbuud_epi32(__W, __A, __B) \
|
|
324
|
+
((__m128i)__builtin_ia32_vpdpbuud128((__v4si)(__W), (__v4si)(__A), \
|
|
325
|
+
(__v4si)(__B)))
|
|
357
326
|
|
|
358
327
|
/// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
|
|
359
328
|
/// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
|
|
@@ -385,11 +354,9 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_dpbuud_epi32(__m128i __W,
|
|
|
385
354
|
/// ENDFOR
|
|
386
355
|
/// dst[MAX:256] := 0
|
|
387
356
|
/// \endcode
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
(__v8si)__B);
|
|
392
|
-
}
|
|
357
|
+
#define _mm256_dpbuud_epi32(__W, __A, __B) \
|
|
358
|
+
((__m256i)__builtin_ia32_vpdpbuud256((__v8si)(__W), (__v8si)(__A), \
|
|
359
|
+
(__v8si)(__B)))
|
|
393
360
|
|
|
394
361
|
/// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
|
|
395
362
|
/// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
|
|
@@ -422,14 +389,10 @@ _mm256_dpbuud_epi32(__m256i __W, __m256i __A, __m256i __B) {
|
|
|
422
389
|
/// ENDFOR
|
|
423
390
|
/// dst[MAX:128] := 0
|
|
424
391
|
/// \endcode
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
return (__m128i)__builtin_ia32_vpdpbuuds128((__v4si)__W, (__v4si)__A,
|
|
429
|
-
(__v4si)__B);
|
|
430
|
-
}
|
|
392
|
+
#define _mm_dpbuuds_epi32(__W, __A, __B) \
|
|
393
|
+
((__m128i)__builtin_ia32_vpdpbuuds128((__v4si)(__W), (__v4si)(__A), \
|
|
394
|
+
(__v4si)(__B)))
|
|
431
395
|
|
|
432
|
-
/// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
|
|
433
396
|
/// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
|
|
434
397
|
/// signed 16-bit results. Sum these 4 results with the corresponding
|
|
435
398
|
/// 32-bit integer in \a __W with signed saturation, and store the packed
|
|
@@ -460,12 +423,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_dpbuuds_epi32(__m128i __W,
|
|
|
460
423
|
/// ENDFOR
|
|
461
424
|
/// dst[MAX:256] := 0
|
|
462
425
|
/// \endcode
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
(__v8si)__B);
|
|
467
|
-
}
|
|
468
|
-
#undef __DEFAULT_FN_ATTRS128
|
|
469
|
-
#undef __DEFAULT_FN_ATTRS256
|
|
426
|
+
#define _mm256_dpbuuds_epi32(__W, __A, __B) \
|
|
427
|
+
((__m256i)__builtin_ia32_vpdpbuuds256((__v8si)(__W), (__v8si)(__A), \
|
|
428
|
+
(__v8si)(__B)))
|
|
470
429
|
|
|
471
430
|
#endif // __AVXVNNIINT8INTRIN_H
|
|
@@ -15,7 +15,13 @@
|
|
|
15
15
|
#define __BMI2INTRIN_H
|
|
16
16
|
|
|
17
17
|
/* Define the default attributes for the functions in this file. */
|
|
18
|
-
#
|
|
18
|
+
#if defined(__cplusplus) && (__cplusplus >= 201103L)
|
|
19
|
+
#define __DEFAULT_FN_ATTRS \
|
|
20
|
+
__attribute__((__always_inline__, __nodebug__, __target__("bmi2"))) constexpr
|
|
21
|
+
#else
|
|
22
|
+
#define __DEFAULT_FN_ATTRS \
|
|
23
|
+
__attribute__((__always_inline__, __nodebug__, __target__("bmi2")))
|
|
24
|
+
#endif
|
|
19
25
|
|
|
20
26
|
/// Copies the unsigned 32-bit integer \a __X and zeroes the upper bits
|
|
21
27
|
/// starting at bit number \a __Y.
|
|
@@ -38,8 +44,7 @@
|
|
|
38
44
|
/// The lower 8 bits specify the bit number of the lowest bit to zero.
|
|
39
45
|
/// \returns The partially zeroed 32-bit value.
|
|
40
46
|
static __inline__ unsigned int __DEFAULT_FN_ATTRS
|
|
41
|
-
_bzhi_u32(unsigned int __X, unsigned int __Y)
|
|
42
|
-
{
|
|
47
|
+
_bzhi_u32(unsigned int __X, unsigned int __Y) {
|
|
43
48
|
return __builtin_ia32_bzhi_si(__X, __Y);
|
|
44
49
|
}
|
|
45
50
|
|
|
@@ -68,8 +73,7 @@ _bzhi_u32(unsigned int __X, unsigned int __Y)
|
|
|
68
73
|
/// The 32-bit mask specifying where to deposit source bits.
|
|
69
74
|
/// \returns The 32-bit result.
|
|
70
75
|
static __inline__ unsigned int __DEFAULT_FN_ATTRS
|
|
71
|
-
_pdep_u32(unsigned int __X, unsigned int __Y)
|
|
72
|
-
{
|
|
76
|
+
_pdep_u32(unsigned int __X, unsigned int __Y) {
|
|
73
77
|
return __builtin_ia32_pdep_si(__X, __Y);
|
|
74
78
|
}
|
|
75
79
|
|
|
@@ -98,8 +102,7 @@ _pdep_u32(unsigned int __X, unsigned int __Y)
|
|
|
98
102
|
/// The 32-bit mask specifying which source bits to extract.
|
|
99
103
|
/// \returns The 32-bit result.
|
|
100
104
|
static __inline__ unsigned int __DEFAULT_FN_ATTRS
|
|
101
|
-
_pext_u32(unsigned int __X, unsigned int __Y)
|
|
102
|
-
{
|
|
105
|
+
_pext_u32(unsigned int __X, unsigned int __Y) {
|
|
103
106
|
return __builtin_ia32_pext_si(__X, __Y);
|
|
104
107
|
}
|
|
105
108
|
|
|
@@ -124,8 +127,7 @@ _pext_u32(unsigned int __X, unsigned int __Y)
|
|
|
124
127
|
/// A pointer to memory for storing the upper half of the product.
|
|
125
128
|
/// \returns The lower half of the product.
|
|
126
129
|
static __inline__ unsigned int __DEFAULT_FN_ATTRS
|
|
127
|
-
_mulx_u32(unsigned int __X, unsigned int __Y, unsigned int *__P)
|
|
128
|
-
{
|
|
130
|
+
_mulx_u32(unsigned int __X, unsigned int __Y, unsigned int *__P) {
|
|
129
131
|
unsigned long long __res = (unsigned long long) __X * __Y;
|
|
130
132
|
*__P = (unsigned int)(__res >> 32);
|
|
131
133
|
return (unsigned int)__res;
|
|
@@ -154,8 +156,7 @@ _mulx_u32(unsigned int __X, unsigned int __Y, unsigned int *__P)
|
|
|
154
156
|
/// The lower 8 bits specify the bit number of the lowest bit to zero.
|
|
155
157
|
/// \returns The partially zeroed 64-bit value.
|
|
156
158
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS
|
|
157
|
-
_bzhi_u64(unsigned long long __X, unsigned long long __Y)
|
|
158
|
-
{
|
|
159
|
+
_bzhi_u64(unsigned long long __X, unsigned long long __Y) {
|
|
159
160
|
return __builtin_ia32_bzhi_di(__X, __Y);
|
|
160
161
|
}
|
|
161
162
|
|
|
@@ -184,8 +185,7 @@ _bzhi_u64(unsigned long long __X, unsigned long long __Y)
|
|
|
184
185
|
/// The 64-bit mask specifying where to deposit source bits.
|
|
185
186
|
/// \returns The 64-bit result.
|
|
186
187
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS
|
|
187
|
-
_pdep_u64(unsigned long long __X, unsigned long long __Y)
|
|
188
|
-
{
|
|
188
|
+
_pdep_u64(unsigned long long __X, unsigned long long __Y) {
|
|
189
189
|
return __builtin_ia32_pdep_di(__X, __Y);
|
|
190
190
|
}
|
|
191
191
|
|
|
@@ -214,8 +214,7 @@ _pdep_u64(unsigned long long __X, unsigned long long __Y)
|
|
|
214
214
|
/// The 64-bit mask specifying which source bits to extract.
|
|
215
215
|
/// \returns The 64-bit result.
|
|
216
216
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS
|
|
217
|
-
_pext_u64(unsigned long long __X, unsigned long long __Y)
|
|
218
|
-
{
|
|
217
|
+
_pext_u64(unsigned long long __X, unsigned long long __Y) {
|
|
219
218
|
return __builtin_ia32_pext_di(__X, __Y);
|
|
220
219
|
}
|
|
221
220
|
|
|
@@ -241,8 +240,7 @@ _pext_u64(unsigned long long __X, unsigned long long __Y)
|
|
|
241
240
|
/// \returns The lower half of the product.
|
|
242
241
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS
|
|
243
242
|
_mulx_u64 (unsigned long long __X, unsigned long long __Y,
|
|
244
|
-
|
|
245
|
-
{
|
|
243
|
+
unsigned long long *__P) {
|
|
246
244
|
unsigned __int128 __res = (unsigned __int128) __X * __Y;
|
|
247
245
|
*__P = (unsigned long long) (__res >> 64);
|
|
248
246
|
return (unsigned long long) __res;
|