@cpp-linter/clang-tidy-win32-x64 19.1.0 → 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.exe +2 -2
- package/lib/clang/{19 → 20}/include/__clang_cuda_device_functions.h +14 -0
- package/lib/clang/{19 → 20}/include/__clang_cuda_math.h +5 -0
- package/lib/clang/{19 → 20}/include/__clang_hip_cmath.h +6 -1
- package/lib/clang/{19 → 20}/include/__clang_hip_math.h +5 -0
- package/lib/clang/{19 → 20}/include/adcintrin.h +5 -0
- package/lib/clang/{19 → 20}/include/adxintrin.h +5 -0
- package/lib/clang/{19 → 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/{19 → 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/{19 → 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/{19 → 20}/include/arm_acle.h +18 -21
- package/lib/clang/{19 → 20}/include/arm_neon.h +3587 -1696
- package/lib/clang/{19 → 20}/include/arm_sme.h +322 -94
- package/lib/clang/{19 → 20}/include/arm_sve.h +1105 -84
- package/lib/clang/{19 → 20}/include/arm_vector_types.h +87 -0
- 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/{19 → 20}/include/avx2intrin.h +9 -0
- package/lib/clang/{19 → 20}/include/avx512bitalgintrin.h +2 -2
- package/lib/clang/{19 → 20}/include/avx512fintrin.h +22 -14
- package/lib/clang/{19 → 20}/include/avx512vlbitalgintrin.h +4 -4
- package/lib/clang/{19 → 20}/include/avx512vpopcntdqintrin.h +12 -4
- package/lib/clang/{19 → 20}/include/avx512vpopcntdqvlintrin.h +16 -8
- package/lib/clang/{19 → 20}/include/avxintrin.h +30 -16
- package/lib/clang/{19 → 20}/include/avxvnniint16intrin.h +36 -77
- package/lib/clang/{19 → 20}/include/avxvnniint8intrin.h +36 -77
- package/lib/clang/{19 → 20}/include/bmi2intrin.h +15 -17
- package/lib/clang/{19 → 20}/include/bmiintrin.h +31 -37
- package/lib/clang/{19 → 20}/include/cmpccxaddintrin.h +1 -1
- package/lib/clang/{19 → 20}/include/cpuid.h +12 -11
- package/lib/clang/{19 → 20}/include/cuda_wrappers/cmath +4 -0
- package/lib/clang/{19 → 20}/include/cuda_wrappers/new +2 -0
- package/lib/clang/{19 → 20}/include/emmintrin.h +141 -107
- package/lib/clang/{19 → 20}/include/gfniintrin.h +32 -10
- package/lib/clang/20/include/gpuintrin.h +224 -0
- package/lib/clang/{19 → 20}/include/hexagon_types.h +8 -4
- package/lib/clang/{19 → 20}/include/hlsl/hlsl_basic_types.h +47 -1
- package/lib/clang/20/include/hlsl/hlsl_detail.h +84 -0
- package/lib/clang/{19 → 20}/include/hlsl/hlsl_intrinsics.h +1199 -82
- package/lib/clang/{19 → 20}/include/hlsl.h +11 -0
- package/lib/clang/{19 → 20}/include/hvx_hexagon_protos.h +427 -0
- package/lib/clang/{19 → 20}/include/immintrin.h +87 -3
- package/lib/clang/{19 → 20}/include/intrin.h +20 -10
- package/lib/clang/{19 → 20}/include/intrin0.h +10 -1
- package/lib/clang/{19 → 20}/include/larchintrin.h +22 -8
- package/lib/clang/{19 → 20}/include/lasxintrin.h +27 -25
- package/lib/clang/{19 → 20}/include/limits.h +7 -4
- package/lib/clang/{19 → 20}/include/llvm_libc_wrappers/ctype.h +38 -0
- package/lib/clang/{19 → 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/{19 → 20}/include/lsxintrin.h +27 -25
- package/lib/clang/{19 → 20}/include/lzcntintrin.h +10 -7
- package/lib/clang/{19 → 20}/include/mmintrin.h +209 -155
- package/lib/clang/{19 → 20}/include/module.modulemap +2 -4
- 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/{19 → 20}/include/opencl-c-base.h +4 -0
- package/lib/clang/{19 → 20}/include/openmp_wrappers/__clang_openmp_device_functions.h +4 -5
- package/lib/clang/{19 → 20}/include/openmp_wrappers/complex_cmath.h +7 -2
- package/lib/clang/{19 → 20}/include/pmmintrin.h +16 -3
- package/lib/clang/{19 → 20}/include/popcntintrin.h +7 -7
- package/lib/clang/{19 → 20}/include/ptrauth.h +6 -0
- package/lib/clang/20/include/riscv_corev_alu.h +128 -0
- package/lib/clang/{19 → 20}/include/riscv_vector.h +0 -1
- package/lib/clang/20/include/sm4evexintrin.h +32 -0
- package/lib/clang/{19 → 20}/include/smmintrin.h +6 -0
- package/lib/clang/{19 → 20}/include/stdalign.h +0 -5
- package/lib/clang/{19 → 20}/include/tbmintrin.h +25 -37
- package/lib/clang/{19 → 20}/include/tmmintrin.h +64 -38
- package/lib/clang/{19 → 20}/include/vecintrin.h +1778 -60
- package/lib/clang/{19 → 20}/include/wasm_simd128.h +167 -21
- package/lib/clang/{19 → 20}/include/xmmintrin.h +170 -177
- package/package.json +6 -6
- /package/lib/clang/{19 → 20}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{19 → 20}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{19 → 20}/include/__clang_cuda_complex_builtins.h +0 -0
- /package/lib/clang/{19 → 20}/include/__clang_cuda_intrinsics.h +0 -0
- /package/lib/clang/{19 → 20}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{19 → 20}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{19 → 20}/include/__clang_cuda_runtime_wrapper.h +0 -0
- /package/lib/clang/{19 → 20}/include/__clang_cuda_texture_intrinsics.h +0 -0
- /package/lib/clang/{19 → 20}/include/__clang_hip_libdevice_declares.h +0 -0
- /package/lib/clang/{19 → 20}/include/__clang_hip_runtime_wrapper.h +0 -0
- /package/lib/clang/{19 → 20}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{19 → 20}/include/__stdarg___gnuc_va_list.h +0 -0
- /package/lib/clang/{19 → 20}/include/__stdarg___va_copy.h +0 -0
- /package/lib/clang/{19 → 20}/include/__stdarg_header_macro.h +0 -0
- /package/lib/clang/{19 → 20}/include/__stdarg_va_arg.h +0 -0
- /package/lib/clang/{19 → 20}/include/__stdarg_va_copy.h +0 -0
- /package/lib/clang/{19 → 20}/include/__stdarg_va_list.h +0 -0
- /package/lib/clang/{19 → 20}/include/__stddef_header_macro.h +0 -0
- /package/lib/clang/{19 → 20}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{19 → 20}/include/__stddef_null.h +0 -0
- /package/lib/clang/{19 → 20}/include/__stddef_nullptr_t.h +0 -0
- /package/lib/clang/{19 → 20}/include/__stddef_offsetof.h +0 -0
- /package/lib/clang/{19 → 20}/include/__stddef_ptrdiff_t.h +0 -0
- /package/lib/clang/{19 → 20}/include/__stddef_rsize_t.h +0 -0
- /package/lib/clang/{19 → 20}/include/__stddef_size_t.h +0 -0
- /package/lib/clang/{19 → 20}/include/__stddef_unreachable.h +0 -0
- /package/lib/clang/{19 → 20}/include/__stddef_wchar_t.h +0 -0
- /package/lib/clang/{19 → 20}/include/__stddef_wint_t.h +0 -0
- /package/lib/clang/{19 → 20}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{19 → 20}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{19 → 20}/include/ammintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/amxcomplexintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/arm64intr.h +0 -0
- /package/lib/clang/{19 → 20}/include/arm_bf16.h +0 -0
- /package/lib/clang/{19 → 20}/include/arm_cde.h +0 -0
- /package/lib/clang/{19 → 20}/include/arm_cmse.h +0 -0
- /package/lib/clang/{19 → 20}/include/arm_fp16.h +0 -0
- /package/lib/clang/{19 → 20}/include/arm_mve.h +0 -0
- /package/lib/clang/{19 → 20}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{19 → 20}/include/armintr.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512bf16intrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512bwintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512cdintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512dqintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512fp16intrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512ifmaintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512ifmavlintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512vbmi2intrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512vbmiintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512vbmivlintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512vlbf16intrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512vlbwintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512vlcdintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512vldqintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512vlfp16intrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512vlintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512vlvbmi2intrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512vlvnniintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512vnniintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avx512vp2intersectintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avxifmaintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/builtins.h +0 -0
- /package/lib/clang/{19 → 20}/include/cet.h +0 -0
- /package/lib/clang/{19 → 20}/include/cetintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/clwbintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/clzerointrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/crc32intrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{19 → 20}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{19 → 20}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{19 → 20}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{19 → 20}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{19 → 20}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/f16cintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/float.h +0 -0
- /package/lib/clang/{19 → 20}/include/fma4intrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/fmaintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{19 → 20}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{19 → 20}/include/hresetintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/htmintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/ia32intrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/inttypes.h +0 -0
- /package/lib/clang/{19 → 20}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/iso646.h +0 -0
- /package/lib/clang/{19 → 20}/include/keylockerintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/llvm_libc_wrappers/assert.h +0 -0
- /package/lib/clang/{19 → 20}/include/llvm_libc_wrappers/inttypes.h +0 -0
- /package/lib/clang/{19 → 20}/include/llvm_libc_wrappers/stdio.h +0 -0
- /package/lib/clang/{19 → 20}/include/llvm_libc_wrappers/string.h +0 -0
- /package/lib/clang/{19 → 20}/include/llvm_libc_wrappers/time.h +0 -0
- /package/lib/clang/{19 → 20}/include/lwpintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/mm3dnow.h +0 -0
- /package/lib/clang/{19 → 20}/include/mm_malloc.h +0 -0
- /package/lib/clang/{19 → 20}/include/movdirintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/msa.h +0 -0
- /package/lib/clang/{19 → 20}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/nmmintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/opencl-c.h +0 -0
- /package/lib/clang/{19 → 20}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{19 → 20}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{19 → 20}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{19 → 20}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{19 → 20}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{19 → 20}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/pkuintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{19 → 20}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/ppc_wrappers/nmmintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/ppc_wrappers/smmintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/prfchwintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/raointintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/riscv_bitmanip.h +0 -0
- /package/lib/clang/{19 → 20}/include/riscv_crypto.h +0 -0
- /package/lib/clang/{19 → 20}/include/riscv_ntlh.h +0 -0
- /package/lib/clang/{19 → 20}/include/rtmintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/s390intrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/serializeintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/sgxintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/sha512intrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/shaintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/sifive_vector.h +0 -0
- /package/lib/clang/{19 → 20}/include/sm3intrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/sm4intrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/stdarg.h +0 -0
- /package/lib/clang/{19 → 20}/include/stdatomic.h +0 -0
- /package/lib/clang/{19 → 20}/include/stdbool.h +0 -0
- /package/lib/clang/{19 → 20}/include/stdckdint.h +0 -0
- /package/lib/clang/{19 → 20}/include/stddef.h +0 -0
- /package/lib/clang/{19 → 20}/include/stdint.h +0 -0
- /package/lib/clang/{19 → 20}/include/stdnoreturn.h +0 -0
- /package/lib/clang/{19 → 20}/include/tgmath.h +0 -0
- /package/lib/clang/{19 → 20}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/uintrintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/unwind.h +0 -0
- /package/lib/clang/{19 → 20}/include/usermsrintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/vadefs.h +0 -0
- /package/lib/clang/{19 → 20}/include/vaesintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/varargs.h +0 -0
- /package/lib/clang/{19 → 20}/include/velintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{19 → 20}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{19 → 20}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/wmmintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/x86gprintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/x86intrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/xopintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/xtestintrin.h +0 -0
- /package/lib/clang/{19 → 20}/include/yvals_core.h +0 -0
- /package/lib/clang/{19 → 20}/include/zos_wrappers/builtins.h +0 -0
|
@@ -11,12 +11,13 @@
|
|
|
11
11
|
#define __POPCNTINTRIN_H
|
|
12
12
|
|
|
13
13
|
/* Define the default attributes for the functions in this file. */
|
|
14
|
-
#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("popcnt")))
|
|
15
|
-
|
|
16
14
|
#if defined(__cplusplus) && (__cplusplus >= 201103L)
|
|
17
|
-
#define
|
|
15
|
+
#define __DEFAULT_FN_ATTRS \
|
|
16
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
17
|
+
__target__("popcnt"))) constexpr
|
|
18
18
|
#else
|
|
19
|
-
#define
|
|
19
|
+
#define __DEFAULT_FN_ATTRS \
|
|
20
|
+
__attribute__((__always_inline__, __nodebug__, __target__("popcnt")))
|
|
20
21
|
#endif
|
|
21
22
|
|
|
22
23
|
/// Counts the number of bits in the source operand having a value of 1.
|
|
@@ -29,7 +30,7 @@
|
|
|
29
30
|
/// An unsigned 32-bit integer operand.
|
|
30
31
|
/// \returns A 32-bit integer containing the number of bits with value 1 in the
|
|
31
32
|
/// source operand.
|
|
32
|
-
static __inline__ int
|
|
33
|
+
static __inline__ int __DEFAULT_FN_ATTRS
|
|
33
34
|
_mm_popcnt_u32(unsigned int __A)
|
|
34
35
|
{
|
|
35
36
|
return __builtin_popcount(__A);
|
|
@@ -46,7 +47,7 @@ _mm_popcnt_u32(unsigned int __A)
|
|
|
46
47
|
/// An unsigned 64-bit integer operand.
|
|
47
48
|
/// \returns A 64-bit integer containing the number of bits with value 1 in the
|
|
48
49
|
/// source operand.
|
|
49
|
-
static __inline__ long long
|
|
50
|
+
static __inline__ long long __DEFAULT_FN_ATTRS
|
|
50
51
|
_mm_popcnt_u64(unsigned long long __A)
|
|
51
52
|
{
|
|
52
53
|
return __builtin_popcountll(__A);
|
|
@@ -54,6 +55,5 @@ _mm_popcnt_u64(unsigned long long __A)
|
|
|
54
55
|
#endif /* __x86_64__ */
|
|
55
56
|
|
|
56
57
|
#undef __DEFAULT_FN_ATTRS
|
|
57
|
-
#undef __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
58
58
|
|
|
59
59
|
#endif /* __POPCNTINTRIN_H */
|
|
@@ -42,6 +42,9 @@ typedef enum {
|
|
|
42
42
|
The extra data is always 0. */
|
|
43
43
|
ptrauth_key_cxx_vtable_pointer = ptrauth_key_process_independent_data,
|
|
44
44
|
|
|
45
|
+
/* The key used to sign pointers in ELF .init_array/.fini_array. */
|
|
46
|
+
ptrauth_key_init_fini_pointer = ptrauth_key_process_independent_code,
|
|
47
|
+
|
|
45
48
|
/* Other pointers signed under the ABI use private ABI rules. */
|
|
46
49
|
|
|
47
50
|
} ptrauth_key;
|
|
@@ -253,6 +256,9 @@ typedef __UINTPTR_TYPE__ ptrauth_generic_signature_t;
|
|
|
253
256
|
[[clang::ptrauth_vtable_pointer(key, address_discrimination, \
|
|
254
257
|
extra_discrimination)]]
|
|
255
258
|
|
|
259
|
+
/* The value is ptrauth_string_discriminator("init_fini") */
|
|
260
|
+
#define __ptrauth_init_fini_discriminator 0xd9d4
|
|
261
|
+
|
|
256
262
|
#else
|
|
257
263
|
|
|
258
264
|
#define ptrauth_strip(__value, __key) \
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/*===---- riscv_corev_alu.h - CORE-V ALU intrinsics ------------------------===
|
|
2
|
+
*
|
|
3
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
*
|
|
7
|
+
*===-----------------------------------------------------------------------===
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef __RISCV_COREV_ALU_H
|
|
11
|
+
#define __RISCV_COREV_ALU_H
|
|
12
|
+
|
|
13
|
+
#include <stdint.h>
|
|
14
|
+
|
|
15
|
+
#if defined(__cplusplus)
|
|
16
|
+
extern "C" {
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
#if defined(__riscv_xcvalu)
|
|
20
|
+
|
|
21
|
+
#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__))
|
|
22
|
+
|
|
23
|
+
static __inline__ long __DEFAULT_FN_ATTRS __riscv_cv_abs(long a) {
|
|
24
|
+
return __builtin_abs(a);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
static __inline__ long __DEFAULT_FN_ATTRS __riscv_cv_alu_slet(long a, long b) {
|
|
28
|
+
return __builtin_riscv_cv_alu_slet(a, b);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
static __inline__ long __DEFAULT_FN_ATTRS
|
|
32
|
+
__riscv_cv_alu_sletu(unsigned long a, unsigned long b) {
|
|
33
|
+
return __builtin_riscv_cv_alu_sletu(a, b);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
static __inline__ long __DEFAULT_FN_ATTRS __riscv_cv_alu_min(long a, long b) {
|
|
37
|
+
return __builtin_elementwise_min(a, b);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
static __inline__ unsigned long __DEFAULT_FN_ATTRS
|
|
41
|
+
__riscv_cv_alu_minu(unsigned long a, unsigned long b) {
|
|
42
|
+
return __builtin_elementwise_min(a, b);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
static __inline__ long __DEFAULT_FN_ATTRS __riscv_cv_alu_max(long a, long b) {
|
|
46
|
+
return __builtin_elementwise_max(a, b);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
static __inline__ unsigned long __DEFAULT_FN_ATTRS
|
|
50
|
+
__riscv_cv_alu_maxu(unsigned long a, unsigned long b) {
|
|
51
|
+
return __builtin_elementwise_max(a, b);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
static __inline__ long __DEFAULT_FN_ATTRS __riscv_cv_alu_exths(int16_t a) {
|
|
55
|
+
return __builtin_riscv_cv_alu_exths(a);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static __inline__ unsigned long __DEFAULT_FN_ATTRS
|
|
59
|
+
__riscv_cv_alu_exthz(uint16_t a) {
|
|
60
|
+
return __builtin_riscv_cv_alu_exthz(a);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
static __inline__ long __DEFAULT_FN_ATTRS __riscv_cv_alu_extbs(int8_t a) {
|
|
64
|
+
return __builtin_riscv_cv_alu_extbs(a);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
static __inline__ unsigned long __DEFAULT_FN_ATTRS
|
|
68
|
+
__riscv_cv_alu_extbz(uint8_t a) {
|
|
69
|
+
return __builtin_riscv_cv_alu_extbz(a);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
static __inline__ long __DEFAULT_FN_ATTRS __riscv_cv_alu_clip(long a,
|
|
73
|
+
unsigned long b) {
|
|
74
|
+
return __builtin_riscv_cv_alu_clip(a, b);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
static __inline__ unsigned long __DEFAULT_FN_ATTRS
|
|
78
|
+
__riscv_cv_alu_clipu(unsigned long a, unsigned long b) {
|
|
79
|
+
return __builtin_riscv_cv_alu_clipu(a, b);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
static __inline__ long __DEFAULT_FN_ATTRS __riscv_cv_alu_addN(long a, long b,
|
|
83
|
+
uint8_t shft) {
|
|
84
|
+
return __builtin_riscv_cv_alu_addN(a, b, shft);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
static __inline__ unsigned long __DEFAULT_FN_ATTRS
|
|
88
|
+
__riscv_cv_alu_adduN(unsigned long a, unsigned long b, uint8_t shft) {
|
|
89
|
+
return __builtin_riscv_cv_alu_adduN(a, b, shft);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
static __inline__ long __DEFAULT_FN_ATTRS __riscv_cv_alu_addRN(long a, long b,
|
|
93
|
+
uint8_t shft) {
|
|
94
|
+
return __builtin_riscv_cv_alu_addRN(a, b, shft);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
static __inline__ unsigned long __DEFAULT_FN_ATTRS
|
|
98
|
+
__riscv_cv_alu_adduRN(unsigned long a, unsigned long b, uint8_t shft) {
|
|
99
|
+
return __builtin_riscv_cv_alu_adduRN(a, b, shft);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
static __inline__ long __DEFAULT_FN_ATTRS __riscv_cv_alu_subN(long a, long b,
|
|
103
|
+
uint8_t shft) {
|
|
104
|
+
return __builtin_riscv_cv_alu_subN(a, b, shft);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
static __inline__ unsigned long __DEFAULT_FN_ATTRS
|
|
108
|
+
__riscv_cv_alu_subuN(unsigned long a, unsigned long b, uint8_t shft) {
|
|
109
|
+
return __builtin_riscv_cv_alu_subuN(a, b, shft);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
static __inline__ long __DEFAULT_FN_ATTRS __riscv_cv_alu_subRN(long a, long b,
|
|
113
|
+
uint8_t shft) {
|
|
114
|
+
return __builtin_riscv_cv_alu_subRN(a, b, shft);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
static __inline__ unsigned long __DEFAULT_FN_ATTRS
|
|
118
|
+
__riscv_cv_alu_subuRN(unsigned long a, unsigned long b, uint8_t shft) {
|
|
119
|
+
return __builtin_riscv_cv_alu_subuRN(a, b, shft);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
#endif // defined(__riscv_xcvalu)
|
|
123
|
+
|
|
124
|
+
#if defined(__cplusplus)
|
|
125
|
+
}
|
|
126
|
+
#endif
|
|
127
|
+
|
|
128
|
+
#endif // define __RISCV_COREV_ALU_H
|
|
@@ -419,7 +419,6 @@ typedef __rvv_bfloat16m2x4_t vbfloat16m2x4_t;
|
|
|
419
419
|
typedef __rvv_bfloat16m4_t vbfloat16m4_t;
|
|
420
420
|
typedef __rvv_bfloat16m4x2_t vbfloat16m4x2_t;
|
|
421
421
|
typedef __rvv_bfloat16m8_t vbfloat16m8_t;
|
|
422
|
-
#define __riscv_v_intrinsic_overloading 1
|
|
423
422
|
|
|
424
423
|
#ifdef __cplusplus
|
|
425
424
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*===--------------- sm4evexintrin.h - SM4 EVEX intrinsics -----------------===
|
|
2
|
+
*
|
|
3
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
*
|
|
7
|
+
*===----------------------------------------------------------------------===
|
|
8
|
+
*/
|
|
9
|
+
#ifndef __IMMINTRIN_H
|
|
10
|
+
#error "Never use <sm4evexintrin.h> directly; include <immintrin.h> instead."
|
|
11
|
+
#endif // __IMMINTRIN_H
|
|
12
|
+
|
|
13
|
+
#ifndef __SM4EVEXINTRIN_H
|
|
14
|
+
#define __SM4EVEXINTRIN_H
|
|
15
|
+
|
|
16
|
+
#define __DEFAULT_FN_ATTRS512 \
|
|
17
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
18
|
+
__target__("sm4,avx10.2-512"), __min_vector_width__(512)))
|
|
19
|
+
|
|
20
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
21
|
+
_mm512_sm4key4_epi32(__m512i __A, __m512i __B) {
|
|
22
|
+
return (__m512i)__builtin_ia32_vsm4key4512((__v16su)__A, (__v16su)__B);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
26
|
+
_mm512_sm4rnds4_epi32(__m512i __A, __m512i __B) {
|
|
27
|
+
return (__m512i)__builtin_ia32_vsm4rnds4512((__v16su)__A, (__v16su)__B);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
#undef __DEFAULT_FN_ATTRS512
|
|
31
|
+
|
|
32
|
+
#endif // __SM4EVEXINTRIN_H
|
|
@@ -17,9 +17,15 @@
|
|
|
17
17
|
#include <tmmintrin.h>
|
|
18
18
|
|
|
19
19
|
/* Define the default attributes for the functions in this file. */
|
|
20
|
+
#if defined(__EVEX512__) && !defined(__AVX10_1_512__)
|
|
20
21
|
#define __DEFAULT_FN_ATTRS \
|
|
21
22
|
__attribute__((__always_inline__, __nodebug__, \
|
|
22
23
|
__target__("sse4.1,no-evex512"), __min_vector_width__(128)))
|
|
24
|
+
#else
|
|
25
|
+
#define __DEFAULT_FN_ATTRS \
|
|
26
|
+
__attribute__((__always_inline__, __nodebug__, __target__("sse4.1"), \
|
|
27
|
+
__min_vector_width__(128)))
|
|
28
|
+
#endif
|
|
23
29
|
|
|
24
30
|
/* SSE4 Rounding macros. */
|
|
25
31
|
#define _MM_FROUND_TO_NEAREST_INT 0x00
|
|
@@ -10,10 +10,6 @@
|
|
|
10
10
|
#ifndef __STDALIGN_H
|
|
11
11
|
#define __STDALIGN_H
|
|
12
12
|
|
|
13
|
-
#if defined(__MVS__) && __has_include_next(<stdalign.h>)
|
|
14
|
-
#include_next <stdalign.h>
|
|
15
|
-
#else
|
|
16
|
-
|
|
17
13
|
#if defined(__cplusplus) || \
|
|
18
14
|
(defined(__STDC_VERSION__) && __STDC_VERSION__ < 202311L)
|
|
19
15
|
#ifndef __cplusplus
|
|
@@ -25,5 +21,4 @@
|
|
|
25
21
|
#define __alignof_is_defined 1
|
|
26
22
|
#endif /* __STDC_VERSION__ */
|
|
27
23
|
|
|
28
|
-
#endif /* __MVS__ */
|
|
29
24
|
#endif /* __STDALIGN_H */
|
|
@@ -15,63 +15,60 @@
|
|
|
15
15
|
#define __TBMINTRIN_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__("tbm"))) constexpr
|
|
21
|
+
#else
|
|
22
|
+
#define __DEFAULT_FN_ATTRS \
|
|
23
|
+
__attribute__((__always_inline__, __nodebug__, __target__("tbm")))
|
|
24
|
+
#endif
|
|
19
25
|
|
|
20
26
|
#define __bextri_u32(a, b) \
|
|
21
27
|
((unsigned int)__builtin_ia32_bextri_u32((unsigned int)(a), \
|
|
22
28
|
(unsigned int)(b)))
|
|
23
29
|
|
|
24
30
|
static __inline__ unsigned int __DEFAULT_FN_ATTRS
|
|
25
|
-
__blcfill_u32(unsigned int __a)
|
|
26
|
-
{
|
|
31
|
+
__blcfill_u32(unsigned int __a) {
|
|
27
32
|
return __a & (__a + 1);
|
|
28
33
|
}
|
|
29
34
|
|
|
30
35
|
static __inline__ unsigned int __DEFAULT_FN_ATTRS
|
|
31
|
-
__blci_u32(unsigned int __a)
|
|
32
|
-
{
|
|
36
|
+
__blci_u32(unsigned int __a) {
|
|
33
37
|
return __a | ~(__a + 1);
|
|
34
38
|
}
|
|
35
39
|
|
|
36
40
|
static __inline__ unsigned int __DEFAULT_FN_ATTRS
|
|
37
|
-
__blcic_u32(unsigned int __a)
|
|
38
|
-
{
|
|
41
|
+
__blcic_u32(unsigned int __a) {
|
|
39
42
|
return ~__a & (__a + 1);
|
|
40
43
|
}
|
|
41
44
|
|
|
42
45
|
static __inline__ unsigned int __DEFAULT_FN_ATTRS
|
|
43
|
-
__blcmsk_u32(unsigned int __a)
|
|
44
|
-
{
|
|
46
|
+
__blcmsk_u32(unsigned int __a) {
|
|
45
47
|
return __a ^ (__a + 1);
|
|
46
48
|
}
|
|
47
49
|
|
|
48
50
|
static __inline__ unsigned int __DEFAULT_FN_ATTRS
|
|
49
|
-
__blcs_u32(unsigned int __a)
|
|
50
|
-
{
|
|
51
|
+
__blcs_u32(unsigned int __a) {
|
|
51
52
|
return __a | (__a + 1);
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
static __inline__ unsigned int __DEFAULT_FN_ATTRS
|
|
55
|
-
__blsfill_u32(unsigned int __a)
|
|
56
|
-
{
|
|
56
|
+
__blsfill_u32(unsigned int __a) {
|
|
57
57
|
return __a | (__a - 1);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
static __inline__ unsigned int __DEFAULT_FN_ATTRS
|
|
61
|
-
__blsic_u32(unsigned int __a)
|
|
62
|
-
{
|
|
61
|
+
__blsic_u32(unsigned int __a) {
|
|
63
62
|
return ~__a | (__a - 1);
|
|
64
63
|
}
|
|
65
64
|
|
|
66
65
|
static __inline__ unsigned int __DEFAULT_FN_ATTRS
|
|
67
|
-
__t1mskc_u32(unsigned int __a)
|
|
68
|
-
{
|
|
66
|
+
__t1mskc_u32(unsigned int __a) {
|
|
69
67
|
return ~__a | (__a + 1);
|
|
70
68
|
}
|
|
71
69
|
|
|
72
70
|
static __inline__ unsigned int __DEFAULT_FN_ATTRS
|
|
73
|
-
__tzmsk_u32(unsigned int __a)
|
|
74
|
-
{
|
|
71
|
+
__tzmsk_u32(unsigned int __a) {
|
|
75
72
|
return ~__a & (__a - 1);
|
|
76
73
|
}
|
|
77
74
|
|
|
@@ -81,56 +78,47 @@ __tzmsk_u32(unsigned int __a)
|
|
|
81
78
|
(unsigned long long)(b)))
|
|
82
79
|
|
|
83
80
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS
|
|
84
|
-
__blcfill_u64(unsigned long long __a)
|
|
85
|
-
{
|
|
81
|
+
__blcfill_u64(unsigned long long __a) {
|
|
86
82
|
return __a & (__a + 1);
|
|
87
83
|
}
|
|
88
84
|
|
|
89
85
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS
|
|
90
|
-
__blci_u64(unsigned long long __a)
|
|
91
|
-
{
|
|
86
|
+
__blci_u64(unsigned long long __a) {
|
|
92
87
|
return __a | ~(__a + 1);
|
|
93
88
|
}
|
|
94
89
|
|
|
95
90
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS
|
|
96
|
-
__blcic_u64(unsigned long long __a)
|
|
97
|
-
{
|
|
91
|
+
__blcic_u64(unsigned long long __a) {
|
|
98
92
|
return ~__a & (__a + 1);
|
|
99
93
|
}
|
|
100
94
|
|
|
101
95
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS
|
|
102
|
-
__blcmsk_u64(unsigned long long __a)
|
|
103
|
-
{
|
|
96
|
+
__blcmsk_u64(unsigned long long __a) {
|
|
104
97
|
return __a ^ (__a + 1);
|
|
105
98
|
}
|
|
106
99
|
|
|
107
100
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS
|
|
108
|
-
__blcs_u64(unsigned long long __a)
|
|
109
|
-
{
|
|
101
|
+
__blcs_u64(unsigned long long __a) {
|
|
110
102
|
return __a | (__a + 1);
|
|
111
103
|
}
|
|
112
104
|
|
|
113
105
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS
|
|
114
|
-
__blsfill_u64(unsigned long long __a)
|
|
115
|
-
{
|
|
106
|
+
__blsfill_u64(unsigned long long __a) {
|
|
116
107
|
return __a | (__a - 1);
|
|
117
108
|
}
|
|
118
109
|
|
|
119
110
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS
|
|
120
|
-
__blsic_u64(unsigned long long __a)
|
|
121
|
-
{
|
|
111
|
+
__blsic_u64(unsigned long long __a) {
|
|
122
112
|
return ~__a | (__a - 1);
|
|
123
113
|
}
|
|
124
114
|
|
|
125
115
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS
|
|
126
|
-
__t1mskc_u64(unsigned long long __a)
|
|
127
|
-
{
|
|
116
|
+
__t1mskc_u64(unsigned long long __a) {
|
|
128
117
|
return ~__a | (__a + 1);
|
|
129
118
|
}
|
|
130
119
|
|
|
131
120
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS
|
|
132
|
-
__tzmsk_u64(unsigned long long __a)
|
|
133
|
-
{
|
|
121
|
+
__tzmsk_u64(unsigned long long __a) {
|
|
134
122
|
return ~__a & (__a - 1);
|
|
135
123
|
}
|
|
136
124
|
#endif
|
|
@@ -17,13 +17,21 @@
|
|
|
17
17
|
#include <pmmintrin.h>
|
|
18
18
|
|
|
19
19
|
/* Define the default attributes for the functions in this file. */
|
|
20
|
+
#if defined(__EVEX512__) && !defined(__AVX10_1_512__)
|
|
20
21
|
#define __DEFAULT_FN_ATTRS \
|
|
21
22
|
__attribute__((__always_inline__, __nodebug__, \
|
|
22
|
-
__target__("ssse3,no-evex512"), __min_vector_width__(
|
|
23
|
-
#
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
__min_vector_width__(
|
|
23
|
+
__target__("ssse3,no-evex512"), __min_vector_width__(128)))
|
|
24
|
+
#else
|
|
25
|
+
#define __DEFAULT_FN_ATTRS \
|
|
26
|
+
__attribute__((__always_inline__, __nodebug__, __target__("ssse3"), \
|
|
27
|
+
__min_vector_width__(128)))
|
|
28
|
+
#endif
|
|
29
|
+
|
|
30
|
+
#define __trunc64(x) \
|
|
31
|
+
(__m64) __builtin_shufflevector((__v2di)(x), __extension__(__v2di){}, 0)
|
|
32
|
+
#define __anyext128(x) \
|
|
33
|
+
(__m128i) __builtin_shufflevector((__v2si)(x), __extension__(__v2si){}, 0, \
|
|
34
|
+
1, -1, -1)
|
|
27
35
|
|
|
28
36
|
/// Computes the absolute value of each of the packed 8-bit signed
|
|
29
37
|
/// integers in the source operand and stores the 8-bit unsigned integer
|
|
@@ -37,10 +45,10 @@
|
|
|
37
45
|
/// A 64-bit vector of [8 x i8].
|
|
38
46
|
/// \returns A 64-bit integer vector containing the absolute values of the
|
|
39
47
|
/// elements in the operand.
|
|
40
|
-
static __inline__ __m64
|
|
48
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS
|
|
41
49
|
_mm_abs_pi8(__m64 __a)
|
|
42
50
|
{
|
|
43
|
-
|
|
51
|
+
return (__m64)__builtin_elementwise_abs((__v8qs)__a);
|
|
44
52
|
}
|
|
45
53
|
|
|
46
54
|
/// Computes the absolute value of each of the packed 8-bit signed
|
|
@@ -73,10 +81,10 @@ _mm_abs_epi8(__m128i __a)
|
|
|
73
81
|
/// A 64-bit vector of [4 x i16].
|
|
74
82
|
/// \returns A 64-bit integer vector containing the absolute values of the
|
|
75
83
|
/// elements in the operand.
|
|
76
|
-
static __inline__ __m64
|
|
84
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS
|
|
77
85
|
_mm_abs_pi16(__m64 __a)
|
|
78
86
|
{
|
|
79
|
-
return (__m64)
|
|
87
|
+
return (__m64)__builtin_elementwise_abs((__v4hi)__a);
|
|
80
88
|
}
|
|
81
89
|
|
|
82
90
|
/// Computes the absolute value of each of the packed 16-bit signed
|
|
@@ -109,10 +117,10 @@ _mm_abs_epi16(__m128i __a)
|
|
|
109
117
|
/// A 64-bit vector of [2 x i32].
|
|
110
118
|
/// \returns A 64-bit integer vector containing the absolute values of the
|
|
111
119
|
/// elements in the operand.
|
|
112
|
-
static __inline__ __m64
|
|
120
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS
|
|
113
121
|
_mm_abs_pi32(__m64 __a)
|
|
114
122
|
{
|
|
115
|
-
return (__m64)
|
|
123
|
+
return (__m64)__builtin_elementwise_abs((__v2si)__a);
|
|
116
124
|
}
|
|
117
125
|
|
|
118
126
|
/// Computes the absolute value of each of the packed 32-bit signed
|
|
@@ -177,7 +185,10 @@ _mm_abs_epi32(__m128i __a)
|
|
|
177
185
|
/// \returns A 64-bit integer vector containing the concatenated right-shifted
|
|
178
186
|
/// value.
|
|
179
187
|
#define _mm_alignr_pi8(a, b, n) \
|
|
180
|
-
((__m64)
|
|
188
|
+
((__m64)__builtin_shufflevector( \
|
|
189
|
+
__builtin_ia32_psrldqi128_byteshift( \
|
|
190
|
+
__builtin_shufflevector((__v1di)(a), (__v1di)(b), 1, 0), \
|
|
191
|
+
(n)), __extension__ (__v2di){}, 0))
|
|
181
192
|
|
|
182
193
|
/// Horizontally adds the adjacent pairs of values contained in 2 packed
|
|
183
194
|
/// 128-bit vectors of [8 x i16].
|
|
@@ -242,10 +253,11 @@ _mm_hadd_epi32(__m128i __a, __m128i __b)
|
|
|
242
253
|
/// destination.
|
|
243
254
|
/// \returns A 64-bit vector of [4 x i16] containing the horizontal sums of both
|
|
244
255
|
/// operands.
|
|
245
|
-
static __inline__ __m64
|
|
256
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS
|
|
246
257
|
_mm_hadd_pi16(__m64 __a, __m64 __b)
|
|
247
258
|
{
|
|
248
|
-
return (
|
|
259
|
+
return __trunc64(__builtin_ia32_phaddw128(
|
|
260
|
+
(__v8hi)__builtin_shufflevector(__a, __b, 0, 1), (__v8hi){}));
|
|
249
261
|
}
|
|
250
262
|
|
|
251
263
|
/// Horizontally adds the adjacent pairs of values contained in 2 packed
|
|
@@ -265,10 +277,11 @@ _mm_hadd_pi16(__m64 __a, __m64 __b)
|
|
|
265
277
|
/// destination.
|
|
266
278
|
/// \returns A 64-bit vector of [2 x i32] containing the horizontal sums of both
|
|
267
279
|
/// operands.
|
|
268
|
-
static __inline__ __m64
|
|
280
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS
|
|
269
281
|
_mm_hadd_pi32(__m64 __a, __m64 __b)
|
|
270
282
|
{
|
|
271
|
-
return (
|
|
283
|
+
return __trunc64(__builtin_ia32_phaddd128(
|
|
284
|
+
(__v4si)__builtin_shufflevector(__a, __b, 0, 1), (__v4si){}));
|
|
272
285
|
}
|
|
273
286
|
|
|
274
287
|
/// Horizontally adds, with saturation, the adjacent pairs of values contained
|
|
@@ -317,10 +330,11 @@ _mm_hadds_epi16(__m128i __a, __m128i __b)
|
|
|
317
330
|
/// destination.
|
|
318
331
|
/// \returns A 64-bit vector of [4 x i16] containing the horizontal saturated
|
|
319
332
|
/// sums of both operands.
|
|
320
|
-
static __inline__ __m64
|
|
333
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS
|
|
321
334
|
_mm_hadds_pi16(__m64 __a, __m64 __b)
|
|
322
335
|
{
|
|
323
|
-
return (
|
|
336
|
+
return __trunc64(__builtin_ia32_phaddsw128(
|
|
337
|
+
(__v8hi)__builtin_shufflevector(__a, __b, 0, 1), (__v8hi){}));
|
|
324
338
|
}
|
|
325
339
|
|
|
326
340
|
/// Horizontally subtracts the adjacent pairs of values contained in 2
|
|
@@ -386,10 +400,11 @@ _mm_hsub_epi32(__m128i __a, __m128i __b)
|
|
|
386
400
|
/// the destination.
|
|
387
401
|
/// \returns A 64-bit vector of [4 x i16] containing the horizontal differences
|
|
388
402
|
/// of both operands.
|
|
389
|
-
static __inline__ __m64
|
|
403
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS
|
|
390
404
|
_mm_hsub_pi16(__m64 __a, __m64 __b)
|
|
391
405
|
{
|
|
392
|
-
return (
|
|
406
|
+
return __trunc64(__builtin_ia32_phsubw128(
|
|
407
|
+
(__v8hi)__builtin_shufflevector(__a, __b, 0, 1), (__v8hi){}));
|
|
393
408
|
}
|
|
394
409
|
|
|
395
410
|
/// Horizontally subtracts the adjacent pairs of values contained in 2
|
|
@@ -409,10 +424,11 @@ _mm_hsub_pi16(__m64 __a, __m64 __b)
|
|
|
409
424
|
/// the destination.
|
|
410
425
|
/// \returns A 64-bit vector of [2 x i32] containing the horizontal differences
|
|
411
426
|
/// of both operands.
|
|
412
|
-
static __inline__ __m64
|
|
427
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS
|
|
413
428
|
_mm_hsub_pi32(__m64 __a, __m64 __b)
|
|
414
429
|
{
|
|
415
|
-
return (
|
|
430
|
+
return __trunc64(__builtin_ia32_phsubd128(
|
|
431
|
+
(__v4si)__builtin_shufflevector(__a, __b, 0, 1), (__v4si){}));
|
|
416
432
|
}
|
|
417
433
|
|
|
418
434
|
/// Horizontally subtracts, with saturation, the adjacent pairs of values
|
|
@@ -461,10 +477,11 @@ _mm_hsubs_epi16(__m128i __a, __m128i __b)
|
|
|
461
477
|
/// the destination.
|
|
462
478
|
/// \returns A 64-bit vector of [4 x i16] containing the horizontal saturated
|
|
463
479
|
/// differences of both operands.
|
|
464
|
-
static __inline__ __m64
|
|
480
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS
|
|
465
481
|
_mm_hsubs_pi16(__m64 __a, __m64 __b)
|
|
466
482
|
{
|
|
467
|
-
return (
|
|
483
|
+
return __trunc64(__builtin_ia32_phsubsw128(
|
|
484
|
+
(__v8hi)__builtin_shufflevector(__a, __b, 0, 1), (__v8hi){}));
|
|
468
485
|
}
|
|
469
486
|
|
|
470
487
|
/// Multiplies corresponding pairs of packed 8-bit unsigned integer
|
|
@@ -525,10 +542,11 @@ _mm_maddubs_epi16(__m128i __a, __m128i __b)
|
|
|
525
542
|
/// \a R1 := (\a __a2 * \a __b2) + (\a __a3 * \a __b3) \n
|
|
526
543
|
/// \a R2 := (\a __a4 * \a __b4) + (\a __a5 * \a __b5) \n
|
|
527
544
|
/// \a R3 := (\a __a6 * \a __b6) + (\a __a7 * \a __b7)
|
|
528
|
-
static __inline__ __m64
|
|
545
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS
|
|
529
546
|
_mm_maddubs_pi16(__m64 __a, __m64 __b)
|
|
530
547
|
{
|
|
531
|
-
return (
|
|
548
|
+
return __trunc64(__builtin_ia32_pmaddubsw128((__v16qi)__anyext128(__a),
|
|
549
|
+
(__v16qi)__anyext128(__b)));
|
|
532
550
|
}
|
|
533
551
|
|
|
534
552
|
/// Multiplies packed 16-bit signed integer values, truncates the 32-bit
|
|
@@ -565,10 +583,11 @@ _mm_mulhrs_epi16(__m128i __a, __m128i __b)
|
|
|
565
583
|
/// A 64-bit vector of [4 x i16] containing one of the source operands.
|
|
566
584
|
/// \returns A 64-bit vector of [4 x i16] containing the rounded and scaled
|
|
567
585
|
/// products of both operands.
|
|
568
|
-
static __inline__ __m64
|
|
586
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS
|
|
569
587
|
_mm_mulhrs_pi16(__m64 __a, __m64 __b)
|
|
570
588
|
{
|
|
571
|
-
return (
|
|
589
|
+
return __trunc64(__builtin_ia32_pmulhrsw128((__v8hi)__anyext128(__a),
|
|
590
|
+
(__v8hi)__anyext128(__b)));
|
|
572
591
|
}
|
|
573
592
|
|
|
574
593
|
/// Copies the 8-bit integers from a 128-bit integer vector to the
|
|
@@ -614,12 +633,15 @@ _mm_shuffle_epi8(__m128i __a, __m128i __b)
|
|
|
614
633
|
/// 1: Clear the corresponding byte in the destination. \n
|
|
615
634
|
/// 0: Copy the selected source byte to the corresponding byte in the
|
|
616
635
|
/// destination. \n
|
|
617
|
-
/// Bits [
|
|
636
|
+
/// Bits [2:0] select the source byte to be copied.
|
|
618
637
|
/// \returns A 64-bit integer vector containing the copied or cleared values.
|
|
619
|
-
static __inline__ __m64
|
|
638
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS
|
|
620
639
|
_mm_shuffle_pi8(__m64 __a, __m64 __b)
|
|
621
640
|
{
|
|
622
|
-
return (
|
|
641
|
+
return __trunc64(__builtin_ia32_pshufb128(
|
|
642
|
+
(__v16qi)__builtin_shufflevector(
|
|
643
|
+
(__v2si)(__a), __extension__ (__v2si){}, 0, 1, 0, 1),
|
|
644
|
+
(__v16qi)__anyext128(__b)));
|
|
623
645
|
}
|
|
624
646
|
|
|
625
647
|
/// For each 8-bit integer in the first source operand, perform one of
|
|
@@ -720,10 +742,11 @@ _mm_sign_epi32(__m128i __a, __m128i __b)
|
|
|
720
742
|
/// A 64-bit integer vector containing control bytes corresponding to
|
|
721
743
|
/// positions in the destination.
|
|
722
744
|
/// \returns A 64-bit integer vector containing the resultant values.
|
|
723
|
-
static __inline__ __m64
|
|
745
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS
|
|
724
746
|
_mm_sign_pi8(__m64 __a, __m64 __b)
|
|
725
747
|
{
|
|
726
|
-
return (
|
|
748
|
+
return __trunc64(__builtin_ia32_psignb128((__v16qi)__anyext128(__a),
|
|
749
|
+
(__v16qi)__anyext128(__b)));
|
|
727
750
|
}
|
|
728
751
|
|
|
729
752
|
/// For each 16-bit integer in the first source operand, perform one of
|
|
@@ -746,10 +769,11 @@ _mm_sign_pi8(__m64 __a, __m64 __b)
|
|
|
746
769
|
/// A 64-bit integer vector containing control words corresponding to
|
|
747
770
|
/// positions in the destination.
|
|
748
771
|
/// \returns A 64-bit integer vector containing the resultant values.
|
|
749
|
-
static __inline__ __m64
|
|
772
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS
|
|
750
773
|
_mm_sign_pi16(__m64 __a, __m64 __b)
|
|
751
774
|
{
|
|
752
|
-
return (
|
|
775
|
+
return __trunc64(__builtin_ia32_psignw128((__v8hi)__anyext128(__a),
|
|
776
|
+
(__v8hi)__anyext128(__b)));
|
|
753
777
|
}
|
|
754
778
|
|
|
755
779
|
/// For each 32-bit integer in the first source operand, perform one of
|
|
@@ -772,13 +796,15 @@ _mm_sign_pi16(__m64 __a, __m64 __b)
|
|
|
772
796
|
/// A 64-bit integer vector containing two control doublewords corresponding
|
|
773
797
|
/// to positions in the destination.
|
|
774
798
|
/// \returns A 64-bit integer vector containing the resultant values.
|
|
775
|
-
static __inline__ __m64
|
|
799
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS
|
|
776
800
|
_mm_sign_pi32(__m64 __a, __m64 __b)
|
|
777
801
|
{
|
|
778
|
-
return (
|
|
802
|
+
return __trunc64(__builtin_ia32_psignd128((__v4si)__anyext128(__a),
|
|
803
|
+
(__v4si)__anyext128(__b)));
|
|
779
804
|
}
|
|
780
805
|
|
|
806
|
+
#undef __anyext128
|
|
807
|
+
#undef __trunc64
|
|
781
808
|
#undef __DEFAULT_FN_ATTRS
|
|
782
|
-
#undef __DEFAULT_FN_ATTRS_MMX
|
|
783
809
|
|
|
784
810
|
#endif /* __TMMINTRIN_H */
|