@cpp-linter/clang-tidy-win32-x64 19.1.0 → 21.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 → 21}/include/__clang_cuda_device_functions.h +14 -0
- package/lib/clang/{19 → 21}/include/__clang_cuda_intrinsics.h +295 -8
- package/lib/clang/{19 → 21}/include/__clang_cuda_math.h +5 -0
- package/lib/clang/{19 → 21}/include/__clang_cuda_runtime_wrapper.h +1 -0
- package/lib/clang/{19 → 21}/include/__clang_cuda_texture_intrinsics.h +437 -2
- package/lib/clang/{19 → 21}/include/__clang_hip_cmath.h +15 -9
- package/lib/clang/{19 → 21}/include/__clang_hip_libdevice_declares.h +12 -20
- package/lib/clang/{19 → 21}/include/__clang_hip_math.h +110 -29
- package/lib/clang/{19 → 21}/include/__clang_hip_runtime_wrapper.h +3 -0
- package/lib/clang/21/include/__clang_spirv_builtins.h +217 -0
- package/lib/clang/{19 → 21}/include/__stdarg_va_arg.h +2 -2
- package/lib/clang/{19 → 21}/include/adcintrin.h +5 -0
- package/lib/clang/{19 → 21}/include/adxintrin.h +5 -0
- package/lib/clang/{19 → 21}/include/altivec.h +90 -87
- package/lib/clang/21/include/amdgpuintrin.h +191 -0
- package/lib/clang/21/include/amxavx512intrin.h +382 -0
- package/lib/clang/21/include/amxbf16transposeintrin.h +94 -0
- package/lib/clang/{19 → 21}/include/amxcomplexintrin.h +4 -6
- package/lib/clang/21/include/amxcomplextransposeintrin.h +303 -0
- package/lib/clang/{19 → 21}/include/amxfp16intrin.h +35 -0
- package/lib/clang/21/include/amxfp16transposeintrin.h +94 -0
- package/lib/clang/21/include/amxfp8intrin.h +230 -0
- package/lib/clang/{19 → 21}/include/amxintrin.h +5 -35
- package/lib/clang/21/include/amxmovrsintrin.h +48 -0
- package/lib/clang/21/include/amxmovrstransposeintrin.h +200 -0
- package/lib/clang/21/include/amxtf32intrin.h +108 -0
- package/lib/clang/21/include/amxtf32transposeintrin.h +105 -0
- package/lib/clang/21/include/amxtransposeintrin.h +248 -0
- package/lib/clang/{19/include/hlsl.h → 21/include/andes_vector.h} +7 -6
- package/lib/clang/{19 → 21}/include/arm_acle.h +29 -62
- package/lib/clang/{19 → 21}/include/arm_fp16.h +89 -89
- package/lib/clang/{19 → 21}/include/arm_neon.h +24549 -20140
- package/lib/clang/{19 → 21}/include/arm_sme.h +1016 -94
- package/lib/clang/{19 → 21}/include/arm_sve.h +4633 -3272
- package/lib/clang/{19 → 21}/include/arm_vector_types.h +87 -0
- package/lib/clang/21/include/avx10_2_512bf16intrin.h +561 -0
- package/lib/clang/21/include/avx10_2_512convertintrin.h +322 -0
- package/lib/clang/21/include/avx10_2_512minmaxintrin.h +127 -0
- package/lib/clang/21/include/avx10_2_512niintrin.h +314 -0
- package/lib/clang/21/include/avx10_2_512satcvtdsintrin.h +307 -0
- package/lib/clang/21/include/avx10_2_512satcvtintrin.h +301 -0
- package/lib/clang/21/include/avx10_2bf16intrin.h +1085 -0
- package/lib/clang/21/include/avx10_2convertintrin.h +3257 -0
- package/lib/clang/21/include/avx10_2copyintrin.h +66 -0
- package/lib/clang/21/include/avx10_2minmaxintrin.h +232 -0
- package/lib/clang/21/include/avx10_2niintrin.h +409 -0
- package/lib/clang/21/include/avx10_2satcvtdsintrin.h +376 -0
- package/lib/clang/21/include/avx10_2satcvtintrin.h +312 -0
- package/lib/clang/{19 → 21}/include/avx2intrin.h +9 -0
- package/lib/clang/{19 → 21}/include/avx512bitalgintrin.h +2 -2
- package/lib/clang/{19 → 21}/include/avx512fintrin.h +22 -14
- package/lib/clang/{19 → 21}/include/avx512fp16intrin.h +2 -1
- package/lib/clang/{19 → 21}/include/avx512vlbitalgintrin.h +4 -4
- package/lib/clang/{19 → 21}/include/avx512vpopcntdqintrin.h +12 -4
- package/lib/clang/{19 → 21}/include/avx512vpopcntdqvlintrin.h +16 -8
- package/lib/clang/{19 → 21}/include/avxintrin.h +30 -16
- package/lib/clang/{19 → 21}/include/avxvnniint16intrin.h +36 -77
- package/lib/clang/{19 → 21}/include/avxvnniint8intrin.h +36 -77
- package/lib/clang/{19 → 21}/include/bmi2intrin.h +15 -17
- package/lib/clang/{19 → 21}/include/bmiintrin.h +31 -41
- package/lib/clang/{19 → 21}/include/cmpccxaddintrin.h +1 -1
- package/lib/clang/{19 → 21}/include/cpuid.h +36 -33
- package/lib/clang/21/include/cuda_wrappers/bits/c++config.h +61 -0
- package/lib/clang/21/include/cuda_wrappers/cmath +44 -0
- package/lib/clang/{19 → 21}/include/cuda_wrappers/new +2 -0
- package/lib/clang/{19 → 21}/include/emmintrin.h +141 -107
- package/lib/clang/{19 → 21}/include/float.h +2 -11
- package/lib/clang/{19 → 21}/include/gfniintrin.h +32 -10
- package/lib/clang/21/include/gpuintrin.h +328 -0
- package/lib/clang/{19 → 21}/include/hexagon_types.h +8 -4
- package/lib/clang/{19/include/hlsl/hlsl_intrinsics.h → 21/include/hlsl/hlsl_alias_intrinsics.h} +1214 -100
- package/lib/clang/{19 → 21}/include/hlsl/hlsl_basic_types.h +47 -1
- package/lib/clang/21/include/hlsl/hlsl_compat_overloads.h +427 -0
- package/lib/clang/21/include/hlsl/hlsl_detail.h +54 -0
- package/lib/clang/21/include/hlsl/hlsl_intrinsic_helpers.h +144 -0
- package/lib/clang/21/include/hlsl/hlsl_intrinsics.h +526 -0
- package/lib/clang/21/include/hlsl/hlsl_spirv.h +28 -0
- package/lib/clang/21/include/hlsl.h +38 -0
- package/lib/clang/{19 → 21}/include/hvx_hexagon_protos.h +427 -0
- package/lib/clang/{19 → 21}/include/immintrin.h +45 -185
- package/lib/clang/{19 → 21}/include/intrin.h +41 -14
- package/lib/clang/{19 → 21}/include/intrin0.h +10 -1
- package/lib/clang/{19 → 21}/include/keylockerintrin.h +0 -9
- package/lib/clang/{19 → 21}/include/larchintrin.h +22 -8
- package/lib/clang/{19 → 21}/include/lasxintrin.h +27 -25
- package/lib/clang/{19 → 21}/include/limits.h +7 -4
- package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/ctype.h +38 -0
- package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/stdlib.h +9 -1
- package/lib/clang/21/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
- package/lib/clang/21/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
- package/lib/clang/21/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
- package/lib/clang/{19 → 21}/include/lsxintrin.h +27 -25
- package/lib/clang/{19 → 21}/include/lzcntintrin.h +13 -8
- package/lib/clang/{19 → 21}/include/mmintrin.h +209 -155
- package/lib/clang/{19 → 21}/include/module.modulemap +15 -4
- package/lib/clang/21/include/movrs_avx10_2_512intrin.h +98 -0
- package/lib/clang/21/include/movrs_avx10_2intrin.h +174 -0
- package/lib/clang/21/include/movrsintrin.h +59 -0
- package/lib/clang/21/include/nvptxintrin.h +219 -0
- package/lib/clang/{19 → 21}/include/opencl-c-base.h +23 -1
- package/lib/clang/{19 → 21}/include/opencl-c.h +298 -39
- package/lib/clang/{19 → 21}/include/openmp_wrappers/__clang_openmp_device_functions.h +4 -5
- package/lib/clang/{19 → 21}/include/openmp_wrappers/complex_cmath.h +7 -2
- package/lib/clang/{19 → 21}/include/pmmintrin.h +16 -3
- package/lib/clang/{19 → 21}/include/popcntintrin.h +7 -7
- package/lib/clang/{19 → 21}/include/prfchwintrin.h +10 -13
- package/lib/clang/{19 → 21}/include/ptrauth.h +65 -2
- package/lib/clang/21/include/riscv_corev_alu.h +128 -0
- package/lib/clang/{19 → 21}/include/riscv_vector.h +0 -5
- package/lib/clang/{19 → 21}/include/shaintrin.h +3 -2
- package/lib/clang/21/include/sm4evexintrin.h +32 -0
- package/lib/clang/{19 → 21}/include/smmintrin.h +6 -0
- package/lib/clang/{19 → 21}/include/stdalign.h +0 -5
- package/lib/clang/21/include/stdcountof.h +15 -0
- package/lib/clang/{19 → 21}/include/stdint.h +18 -129
- package/lib/clang/{19 → 21}/include/tbmintrin.h +25 -37
- package/lib/clang/{19 → 21}/include/tmmintrin.h +64 -38
- package/lib/clang/{19 → 21}/include/vecintrin.h +1784 -61
- package/lib/clang/{19 → 21}/include/wasm_simd128.h +167 -21
- package/lib/clang/{19 → 21}/include/x86gprintrin.h +0 -14
- package/lib/clang/{19 → 21}/include/x86intrin.h +0 -18
- package/lib/clang/{19 → 21}/include/xmmintrin.h +173 -179
- package/package.json +6 -6
- package/lib/clang/19/include/cuda_wrappers/cmath +0 -90
- /package/lib/clang/{19 → 21}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{19 → 21}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{19 → 21}/include/__clang_cuda_complex_builtins.h +0 -0
- /package/lib/clang/{19 → 21}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{19 → 21}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{19 → 21}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stdarg___gnuc_va_list.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stdarg___va_copy.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stdarg_header_macro.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stdarg_va_copy.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stdarg_va_list.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_header_macro.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_null.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_nullptr_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_offsetof.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_ptrdiff_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_rsize_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_size_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_unreachable.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_wchar_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_wint_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{19 → 21}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{19 → 21}/include/ammintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/arm64intr.h +0 -0
- /package/lib/clang/{19 → 21}/include/arm_bf16.h +0 -0
- /package/lib/clang/{19 → 21}/include/arm_cde.h +0 -0
- /package/lib/clang/{19 → 21}/include/arm_cmse.h +0 -0
- /package/lib/clang/{19 → 21}/include/arm_mve.h +0 -0
- /package/lib/clang/{19 → 21}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{19 → 21}/include/armintr.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512bf16intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512bwintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512cdintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512dqintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512ifmaintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512ifmavlintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vbmi2intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vbmiintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vbmivlintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlbf16intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlbwintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlcdintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vldqintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlfp16intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlvbmi2intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlvnniintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vnniintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vp2intersectintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avxifmaintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/builtins.h +0 -0
- /package/lib/clang/{19 → 21}/include/cet.h +0 -0
- /package/lib/clang/{19 → 21}/include/cetintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/clwbintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/clzerointrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/crc32intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{19 → 21}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{19 → 21}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{19 → 21}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{19 → 21}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{19 → 21}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/f16cintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/fma4intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/fmaintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{19 → 21}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{19 → 21}/include/hresetintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/htmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ia32intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/inttypes.h +0 -0
- /package/lib/clang/{19 → 21}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/iso646.h +0 -0
- /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/assert.h +0 -0
- /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/inttypes.h +0 -0
- /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/stdio.h +0 -0
- /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/string.h +0 -0
- /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/time.h +0 -0
- /package/lib/clang/{19 → 21}/include/lwpintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/mm3dnow.h +0 -0
- /package/lib/clang/{19 → 21}/include/mm_malloc.h +0 -0
- /package/lib/clang/{19 → 21}/include/movdirintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/msa.h +0 -0
- /package/lib/clang/{19 → 21}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/nmmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{19 → 21}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{19 → 21}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{19 → 21}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{19 → 21}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{19 → 21}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/pkuintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/nmmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/smmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/raointintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/riscv_bitmanip.h +0 -0
- /package/lib/clang/{19 → 21}/include/riscv_crypto.h +0 -0
- /package/lib/clang/{19 → 21}/include/riscv_ntlh.h +0 -0
- /package/lib/clang/{19 → 21}/include/rtmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/s390intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/serializeintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/sgxintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/sha512intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/sifive_vector.h +0 -0
- /package/lib/clang/{19 → 21}/include/sm3intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/sm4intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/stdarg.h +0 -0
- /package/lib/clang/{19 → 21}/include/stdatomic.h +0 -0
- /package/lib/clang/{19 → 21}/include/stdbool.h +0 -0
- /package/lib/clang/{19 → 21}/include/stdckdint.h +0 -0
- /package/lib/clang/{19 → 21}/include/stddef.h +0 -0
- /package/lib/clang/{19 → 21}/include/stdnoreturn.h +0 -0
- /package/lib/clang/{19 → 21}/include/tgmath.h +0 -0
- /package/lib/clang/{19 → 21}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/uintrintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/unwind.h +0 -0
- /package/lib/clang/{19 → 21}/include/usermsrintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/vadefs.h +0 -0
- /package/lib/clang/{19 → 21}/include/vaesintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/varargs.h +0 -0
- /package/lib/clang/{19 → 21}/include/velintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{19 → 21}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{19 → 21}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/wmmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/xopintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/xtestintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/yvals_core.h +0 -0
- /package/lib/clang/{19 → 21}/include/zos_wrappers/builtins.h +0 -0
|
@@ -21,10 +21,45 @@ typedef int __v2si __attribute__((__vector_size__(8)));
|
|
|
21
21
|
typedef short __v4hi __attribute__((__vector_size__(8)));
|
|
22
22
|
typedef char __v8qi __attribute__((__vector_size__(8)));
|
|
23
23
|
|
|
24
|
+
/* Unsigned types */
|
|
25
|
+
typedef unsigned long long __v1du __attribute__ ((__vector_size__ (8)));
|
|
26
|
+
typedef unsigned int __v2su __attribute__ ((__vector_size__ (8)));
|
|
27
|
+
typedef unsigned short __v4hu __attribute__((__vector_size__(8)));
|
|
28
|
+
typedef unsigned char __v8qu __attribute__((__vector_size__(8)));
|
|
29
|
+
|
|
30
|
+
/* We need an explicitly signed variant for char. Note that this shouldn't
|
|
31
|
+
* appear in the interface though. */
|
|
32
|
+
typedef signed char __v8qs __attribute__((__vector_size__(8)));
|
|
33
|
+
|
|
34
|
+
/* SSE/SSE2 types */
|
|
35
|
+
typedef long long __m128i __attribute__((__vector_size__(16), __aligned__(16)));
|
|
36
|
+
typedef long long __v2di __attribute__ ((__vector_size__ (16)));
|
|
37
|
+
typedef int __v4si __attribute__((__vector_size__(16)));
|
|
38
|
+
typedef short __v8hi __attribute__((__vector_size__(16)));
|
|
39
|
+
typedef char __v16qi __attribute__((__vector_size__(16)));
|
|
40
|
+
|
|
24
41
|
/* Define the default attributes for the functions in this file. */
|
|
25
|
-
#
|
|
26
|
-
|
|
27
|
-
|
|
42
|
+
#if defined(__EVEX512__) && !defined(__AVX10_1_512__)
|
|
43
|
+
#define __DEFAULT_FN_ATTRS_SSE2 \
|
|
44
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
45
|
+
__target__("sse2,no-evex512"), __min_vector_width__(128)))
|
|
46
|
+
#else
|
|
47
|
+
#define __DEFAULT_FN_ATTRS_SSE2 \
|
|
48
|
+
__attribute__((__always_inline__, __nodebug__, __target__("sse2"), \
|
|
49
|
+
__min_vector_width__(128)))
|
|
50
|
+
#endif
|
|
51
|
+
|
|
52
|
+
#if defined(__cplusplus) && (__cplusplus >= 201103L)
|
|
53
|
+
#define __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR __DEFAULT_FN_ATTRS_SSE2 constexpr
|
|
54
|
+
#else
|
|
55
|
+
#define __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR __DEFAULT_FN_ATTRS_SSE2
|
|
56
|
+
#endif
|
|
57
|
+
|
|
58
|
+
#define __trunc64(x) \
|
|
59
|
+
(__m64) __builtin_shufflevector((__v2di)(x), __extension__(__v2di){}, 0)
|
|
60
|
+
#define __anyext128(x) \
|
|
61
|
+
(__m128i) __builtin_shufflevector((__v2si)(x), __extension__(__v2si){}, 0, \
|
|
62
|
+
1, -1, -1)
|
|
28
63
|
|
|
29
64
|
/// Clears the MMX state by setting the state of the x87 stack registers
|
|
30
65
|
/// to empty.
|
|
@@ -50,10 +85,10 @@ _mm_empty(void) {
|
|
|
50
85
|
/// A 32-bit integer value.
|
|
51
86
|
/// \returns A 64-bit integer vector. The lower 32 bits contain the value of the
|
|
52
87
|
/// parameter. The upper 32 bits are set to 0.
|
|
53
|
-
static __inline__ __m64
|
|
88
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
54
89
|
_mm_cvtsi32_si64(int __i)
|
|
55
90
|
{
|
|
56
|
-
return (__m64)
|
|
91
|
+
return __extension__ (__m64)(__v2si){__i, 0};
|
|
57
92
|
}
|
|
58
93
|
|
|
59
94
|
/// Returns the lower 32 bits of a 64-bit integer vector as a 32-bit
|
|
@@ -67,10 +102,10 @@ _mm_cvtsi32_si64(int __i)
|
|
|
67
102
|
/// A 64-bit integer vector.
|
|
68
103
|
/// \returns A 32-bit signed integer value containing the lower 32 bits of the
|
|
69
104
|
/// parameter.
|
|
70
|
-
static __inline__ int
|
|
105
|
+
static __inline__ int __DEFAULT_FN_ATTRS_SSE2
|
|
71
106
|
_mm_cvtsi64_si32(__m64 __m)
|
|
72
107
|
{
|
|
73
|
-
return
|
|
108
|
+
return ((__v2si)__m)[0];
|
|
74
109
|
}
|
|
75
110
|
|
|
76
111
|
/// Casts a 64-bit signed integer value into a 64-bit integer vector.
|
|
@@ -83,7 +118,7 @@ _mm_cvtsi64_si32(__m64 __m)
|
|
|
83
118
|
/// A 64-bit signed integer.
|
|
84
119
|
/// \returns A 64-bit integer vector containing the same bitwise pattern as the
|
|
85
120
|
/// parameter.
|
|
86
|
-
static __inline__ __m64
|
|
121
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
87
122
|
_mm_cvtsi64_m64(long long __i)
|
|
88
123
|
{
|
|
89
124
|
return (__m64)__i;
|
|
@@ -99,7 +134,7 @@ _mm_cvtsi64_m64(long long __i)
|
|
|
99
134
|
/// A 64-bit integer vector.
|
|
100
135
|
/// \returns A 64-bit signed integer containing the same bitwise pattern as the
|
|
101
136
|
/// parameter.
|
|
102
|
-
static __inline__ long long
|
|
137
|
+
static __inline__ long long __DEFAULT_FN_ATTRS_SSE2
|
|
103
138
|
_mm_cvtm64_si64(__m64 __m)
|
|
104
139
|
{
|
|
105
140
|
return (long long)__m;
|
|
@@ -124,10 +159,11 @@ _mm_cvtm64_si64(__m64 __m)
|
|
|
124
159
|
/// written to the upper 32 bits of the result.
|
|
125
160
|
/// \returns A 64-bit integer vector of [8 x i8] containing the converted
|
|
126
161
|
/// values.
|
|
127
|
-
static __inline__ __m64
|
|
162
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
128
163
|
_mm_packs_pi16(__m64 __m1, __m64 __m2)
|
|
129
164
|
{
|
|
130
|
-
return (
|
|
165
|
+
return __trunc64(__builtin_ia32_packsswb128(
|
|
166
|
+
(__v8hi)__builtin_shufflevector(__m1, __m2, 0, 1), (__v8hi){}));
|
|
131
167
|
}
|
|
132
168
|
|
|
133
169
|
/// Converts, with saturation, 32-bit signed integers from both 64-bit integer
|
|
@@ -149,10 +185,11 @@ _mm_packs_pi16(__m64 __m1, __m64 __m2)
|
|
|
149
185
|
/// written to the upper 32 bits of the result.
|
|
150
186
|
/// \returns A 64-bit integer vector of [4 x i16] containing the converted
|
|
151
187
|
/// values.
|
|
152
|
-
static __inline__ __m64
|
|
188
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
153
189
|
_mm_packs_pi32(__m64 __m1, __m64 __m2)
|
|
154
190
|
{
|
|
155
|
-
return (
|
|
191
|
+
return __trunc64(__builtin_ia32_packssdw128(
|
|
192
|
+
(__v4si)__builtin_shufflevector(__m1, __m2, 0, 1), (__v4si){}));
|
|
156
193
|
}
|
|
157
194
|
|
|
158
195
|
/// Converts, with saturation, 16-bit signed integers from both 64-bit integer
|
|
@@ -174,10 +211,11 @@ _mm_packs_pi32(__m64 __m1, __m64 __m2)
|
|
|
174
211
|
/// written to the upper 32 bits of the result.
|
|
175
212
|
/// \returns A 64-bit integer vector of [8 x i8] containing the converted
|
|
176
213
|
/// values.
|
|
177
|
-
static __inline__ __m64
|
|
214
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
178
215
|
_mm_packs_pu16(__m64 __m1, __m64 __m2)
|
|
179
216
|
{
|
|
180
|
-
return (
|
|
217
|
+
return __trunc64(__builtin_ia32_packuswb128(
|
|
218
|
+
(__v8hi)__builtin_shufflevector(__m1, __m2, 0, 1), (__v8hi){}));
|
|
181
219
|
}
|
|
182
220
|
|
|
183
221
|
/// Unpacks the upper 32 bits from two 64-bit integer vectors of [8 x i8]
|
|
@@ -201,10 +239,11 @@ _mm_packs_pu16(__m64 __m1, __m64 __m2)
|
|
|
201
239
|
/// Bits [63:56] are written to bits [63:56] of the result.
|
|
202
240
|
/// \returns A 64-bit integer vector of [8 x i8] containing the interleaved
|
|
203
241
|
/// values.
|
|
204
|
-
static __inline__ __m64
|
|
242
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
205
243
|
_mm_unpackhi_pi8(__m64 __m1, __m64 __m2)
|
|
206
244
|
{
|
|
207
|
-
return (__m64)
|
|
245
|
+
return (__m64)__builtin_shufflevector((__v8qi)__m1, (__v8qi)__m2,
|
|
246
|
+
4, 12, 5, 13, 6, 14, 7, 15);
|
|
208
247
|
}
|
|
209
248
|
|
|
210
249
|
/// Unpacks the upper 32 bits from two 64-bit integer vectors of
|
|
@@ -224,10 +263,11 @@ _mm_unpackhi_pi8(__m64 __m1, __m64 __m2)
|
|
|
224
263
|
/// Bits [63:48] are written to bits [63:48] of the result.
|
|
225
264
|
/// \returns A 64-bit integer vector of [4 x i16] containing the interleaved
|
|
226
265
|
/// values.
|
|
227
|
-
static __inline__ __m64
|
|
266
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
228
267
|
_mm_unpackhi_pi16(__m64 __m1, __m64 __m2)
|
|
229
268
|
{
|
|
230
|
-
return (__m64)
|
|
269
|
+
return (__m64)__builtin_shufflevector((__v4hi)__m1, (__v4hi)__m2,
|
|
270
|
+
2, 6, 3, 7);
|
|
231
271
|
}
|
|
232
272
|
|
|
233
273
|
/// Unpacks the upper 32 bits from two 64-bit integer vectors of
|
|
@@ -245,10 +285,10 @@ _mm_unpackhi_pi16(__m64 __m1, __m64 __m2)
|
|
|
245
285
|
/// the upper 32 bits of the result.
|
|
246
286
|
/// \returns A 64-bit integer vector of [2 x i32] containing the interleaved
|
|
247
287
|
/// values.
|
|
248
|
-
static __inline__ __m64
|
|
288
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
249
289
|
_mm_unpackhi_pi32(__m64 __m1, __m64 __m2)
|
|
250
290
|
{
|
|
251
|
-
return (__m64)
|
|
291
|
+
return (__m64)__builtin_shufflevector((__v2si)__m1, (__v2si)__m2, 1, 3);
|
|
252
292
|
}
|
|
253
293
|
|
|
254
294
|
/// Unpacks the lower 32 bits from two 64-bit integer vectors of [8 x i8]
|
|
@@ -272,10 +312,11 @@ _mm_unpackhi_pi32(__m64 __m1, __m64 __m2)
|
|
|
272
312
|
/// Bits [31:24] are written to bits [63:56] of the result.
|
|
273
313
|
/// \returns A 64-bit integer vector of [8 x i8] containing the interleaved
|
|
274
314
|
/// values.
|
|
275
|
-
static __inline__ __m64
|
|
315
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
276
316
|
_mm_unpacklo_pi8(__m64 __m1, __m64 __m2)
|
|
277
317
|
{
|
|
278
|
-
return (__m64)
|
|
318
|
+
return (__m64)__builtin_shufflevector((__v8qi)__m1, (__v8qi)__m2,
|
|
319
|
+
0, 8, 1, 9, 2, 10, 3, 11);
|
|
279
320
|
}
|
|
280
321
|
|
|
281
322
|
/// Unpacks the lower 32 bits from two 64-bit integer vectors of
|
|
@@ -295,10 +336,11 @@ _mm_unpacklo_pi8(__m64 __m1, __m64 __m2)
|
|
|
295
336
|
/// Bits [31:16] are written to bits [63:48] of the result.
|
|
296
337
|
/// \returns A 64-bit integer vector of [4 x i16] containing the interleaved
|
|
297
338
|
/// values.
|
|
298
|
-
static __inline__ __m64
|
|
339
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
299
340
|
_mm_unpacklo_pi16(__m64 __m1, __m64 __m2)
|
|
300
341
|
{
|
|
301
|
-
return (__m64)
|
|
342
|
+
return (__m64)__builtin_shufflevector((__v4hi)__m1, (__v4hi)__m2,
|
|
343
|
+
0, 4, 1, 5);
|
|
302
344
|
}
|
|
303
345
|
|
|
304
346
|
/// Unpacks the lower 32 bits from two 64-bit integer vectors of
|
|
@@ -316,10 +358,10 @@ _mm_unpacklo_pi16(__m64 __m1, __m64 __m2)
|
|
|
316
358
|
/// the upper 32 bits of the result.
|
|
317
359
|
/// \returns A 64-bit integer vector of [2 x i32] containing the interleaved
|
|
318
360
|
/// values.
|
|
319
|
-
static __inline__ __m64
|
|
361
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
320
362
|
_mm_unpacklo_pi32(__m64 __m1, __m64 __m2)
|
|
321
363
|
{
|
|
322
|
-
return (__m64)
|
|
364
|
+
return (__m64)__builtin_shufflevector((__v2si)__m1, (__v2si)__m2, 0, 2);
|
|
323
365
|
}
|
|
324
366
|
|
|
325
367
|
/// Adds each 8-bit integer element of the first 64-bit integer vector
|
|
@@ -337,10 +379,10 @@ _mm_unpacklo_pi32(__m64 __m1, __m64 __m2)
|
|
|
337
379
|
/// A 64-bit integer vector of [8 x i8].
|
|
338
380
|
/// \returns A 64-bit integer vector of [8 x i8] containing the sums of both
|
|
339
381
|
/// parameters.
|
|
340
|
-
static __inline__ __m64
|
|
382
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
341
383
|
_mm_add_pi8(__m64 __m1, __m64 __m2)
|
|
342
384
|
{
|
|
343
|
-
return (__m64)
|
|
385
|
+
return (__m64)(((__v8qu)__m1) + ((__v8qu)__m2));
|
|
344
386
|
}
|
|
345
387
|
|
|
346
388
|
/// Adds each 16-bit integer element of the first 64-bit integer vector
|
|
@@ -358,10 +400,10 @@ _mm_add_pi8(__m64 __m1, __m64 __m2)
|
|
|
358
400
|
/// A 64-bit integer vector of [4 x i16].
|
|
359
401
|
/// \returns A 64-bit integer vector of [4 x i16] containing the sums of both
|
|
360
402
|
/// parameters.
|
|
361
|
-
static __inline__ __m64
|
|
403
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
362
404
|
_mm_add_pi16(__m64 __m1, __m64 __m2)
|
|
363
405
|
{
|
|
364
|
-
return (__m64)
|
|
406
|
+
return (__m64)(((__v4hu)__m1) + ((__v4hu)__m2));
|
|
365
407
|
}
|
|
366
408
|
|
|
367
409
|
/// Adds each 32-bit integer element of the first 64-bit integer vector
|
|
@@ -379,10 +421,10 @@ _mm_add_pi16(__m64 __m1, __m64 __m2)
|
|
|
379
421
|
/// A 64-bit integer vector of [2 x i32].
|
|
380
422
|
/// \returns A 64-bit integer vector of [2 x i32] containing the sums of both
|
|
381
423
|
/// parameters.
|
|
382
|
-
static __inline__ __m64
|
|
424
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
383
425
|
_mm_add_pi32(__m64 __m1, __m64 __m2)
|
|
384
426
|
{
|
|
385
|
-
return (__m64)
|
|
427
|
+
return (__m64)(((__v2su)__m1) + ((__v2su)__m2));
|
|
386
428
|
}
|
|
387
429
|
|
|
388
430
|
/// Adds, with saturation, each 8-bit signed integer element of the first
|
|
@@ -403,10 +445,10 @@ _mm_add_pi32(__m64 __m1, __m64 __m2)
|
|
|
403
445
|
/// A 64-bit integer vector of [8 x i8].
|
|
404
446
|
/// \returns A 64-bit integer vector of [8 x i8] containing the saturated sums
|
|
405
447
|
/// of both parameters.
|
|
406
|
-
static __inline__ __m64
|
|
448
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
407
449
|
_mm_adds_pi8(__m64 __m1, __m64 __m2)
|
|
408
450
|
{
|
|
409
|
-
return (__m64)
|
|
451
|
+
return (__m64)__builtin_elementwise_add_sat((__v8qs)__m1, (__v8qs)__m2);
|
|
410
452
|
}
|
|
411
453
|
|
|
412
454
|
/// Adds, with saturation, each 16-bit signed integer element of the first
|
|
@@ -427,10 +469,10 @@ _mm_adds_pi8(__m64 __m1, __m64 __m2)
|
|
|
427
469
|
/// A 64-bit integer vector of [4 x i16].
|
|
428
470
|
/// \returns A 64-bit integer vector of [4 x i16] containing the saturated sums
|
|
429
471
|
/// of both parameters.
|
|
430
|
-
static __inline__ __m64
|
|
472
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
431
473
|
_mm_adds_pi16(__m64 __m1, __m64 __m2)
|
|
432
474
|
{
|
|
433
|
-
return (__m64)
|
|
475
|
+
return (__m64)__builtin_elementwise_add_sat((__v4hi)__m1, (__v4hi)__m2);
|
|
434
476
|
}
|
|
435
477
|
|
|
436
478
|
/// Adds, with saturation, each 8-bit unsigned integer element of the first
|
|
@@ -450,10 +492,10 @@ _mm_adds_pi16(__m64 __m1, __m64 __m2)
|
|
|
450
492
|
/// A 64-bit integer vector of [8 x i8].
|
|
451
493
|
/// \returns A 64-bit integer vector of [8 x i8] containing the saturated
|
|
452
494
|
/// unsigned sums of both parameters.
|
|
453
|
-
static __inline__ __m64
|
|
495
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
454
496
|
_mm_adds_pu8(__m64 __m1, __m64 __m2)
|
|
455
497
|
{
|
|
456
|
-
return (__m64)
|
|
498
|
+
return (__m64)__builtin_elementwise_add_sat((__v8qu)__m1, (__v8qu)__m2);
|
|
457
499
|
}
|
|
458
500
|
|
|
459
501
|
/// Adds, with saturation, each 16-bit unsigned integer element of the first
|
|
@@ -473,10 +515,10 @@ _mm_adds_pu8(__m64 __m1, __m64 __m2)
|
|
|
473
515
|
/// A 64-bit integer vector of [4 x i16].
|
|
474
516
|
/// \returns A 64-bit integer vector of [4 x i16] containing the saturated
|
|
475
517
|
/// unsigned sums of both parameters.
|
|
476
|
-
static __inline__ __m64
|
|
518
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
477
519
|
_mm_adds_pu16(__m64 __m1, __m64 __m2)
|
|
478
520
|
{
|
|
479
|
-
return (__m64)
|
|
521
|
+
return (__m64)__builtin_elementwise_add_sat((__v4hu)__m1, (__v4hu)__m2);
|
|
480
522
|
}
|
|
481
523
|
|
|
482
524
|
/// Subtracts each 8-bit integer element of the second 64-bit integer
|
|
@@ -494,10 +536,10 @@ _mm_adds_pu16(__m64 __m1, __m64 __m2)
|
|
|
494
536
|
/// A 64-bit integer vector of [8 x i8] containing the subtrahends.
|
|
495
537
|
/// \returns A 64-bit integer vector of [8 x i8] containing the differences of
|
|
496
538
|
/// both parameters.
|
|
497
|
-
static __inline__ __m64
|
|
539
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
498
540
|
_mm_sub_pi8(__m64 __m1, __m64 __m2)
|
|
499
541
|
{
|
|
500
|
-
return (__m64)
|
|
542
|
+
return (__m64)(((__v8qu)__m1) - ((__v8qu)__m2));
|
|
501
543
|
}
|
|
502
544
|
|
|
503
545
|
/// Subtracts each 16-bit integer element of the second 64-bit integer
|
|
@@ -515,10 +557,10 @@ _mm_sub_pi8(__m64 __m1, __m64 __m2)
|
|
|
515
557
|
/// A 64-bit integer vector of [4 x i16] containing the subtrahends.
|
|
516
558
|
/// \returns A 64-bit integer vector of [4 x i16] containing the differences of
|
|
517
559
|
/// both parameters.
|
|
518
|
-
static __inline__ __m64
|
|
560
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
519
561
|
_mm_sub_pi16(__m64 __m1, __m64 __m2)
|
|
520
562
|
{
|
|
521
|
-
return (__m64)
|
|
563
|
+
return (__m64)(((__v4hu)__m1) - ((__v4hu)__m2));
|
|
522
564
|
}
|
|
523
565
|
|
|
524
566
|
/// Subtracts each 32-bit integer element of the second 64-bit integer
|
|
@@ -536,10 +578,10 @@ _mm_sub_pi16(__m64 __m1, __m64 __m2)
|
|
|
536
578
|
/// A 64-bit integer vector of [2 x i32] containing the subtrahends.
|
|
537
579
|
/// \returns A 64-bit integer vector of [2 x i32] containing the differences of
|
|
538
580
|
/// both parameters.
|
|
539
|
-
static __inline__ __m64
|
|
581
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
540
582
|
_mm_sub_pi32(__m64 __m1, __m64 __m2)
|
|
541
583
|
{
|
|
542
|
-
return (__m64)
|
|
584
|
+
return (__m64)(((__v2su)__m1) - ((__v2su)__m2));
|
|
543
585
|
}
|
|
544
586
|
|
|
545
587
|
/// Subtracts, with saturation, each 8-bit signed integer element of the second
|
|
@@ -560,10 +602,10 @@ _mm_sub_pi32(__m64 __m1, __m64 __m2)
|
|
|
560
602
|
/// A 64-bit integer vector of [8 x i8] containing the subtrahends.
|
|
561
603
|
/// \returns A 64-bit integer vector of [8 x i8] containing the saturated
|
|
562
604
|
/// differences of both parameters.
|
|
563
|
-
static __inline__ __m64
|
|
605
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
564
606
|
_mm_subs_pi8(__m64 __m1, __m64 __m2)
|
|
565
607
|
{
|
|
566
|
-
return (__m64)
|
|
608
|
+
return (__m64)__builtin_elementwise_sub_sat((__v8qs)__m1, (__v8qs)__m2);
|
|
567
609
|
}
|
|
568
610
|
|
|
569
611
|
/// Subtracts, with saturation, each 16-bit signed integer element of the
|
|
@@ -584,10 +626,10 @@ _mm_subs_pi8(__m64 __m1, __m64 __m2)
|
|
|
584
626
|
/// A 64-bit integer vector of [4 x i16] containing the subtrahends.
|
|
585
627
|
/// \returns A 64-bit integer vector of [4 x i16] containing the saturated
|
|
586
628
|
/// differences of both parameters.
|
|
587
|
-
static __inline__ __m64
|
|
629
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
588
630
|
_mm_subs_pi16(__m64 __m1, __m64 __m2)
|
|
589
631
|
{
|
|
590
|
-
return (__m64)
|
|
632
|
+
return (__m64)__builtin_elementwise_sub_sat((__v4hi)__m1, (__v4hi)__m2);
|
|
591
633
|
}
|
|
592
634
|
|
|
593
635
|
/// Subtracts each 8-bit unsigned integer element of the second 64-bit
|
|
@@ -608,10 +650,10 @@ _mm_subs_pi16(__m64 __m1, __m64 __m2)
|
|
|
608
650
|
/// A 64-bit integer vector of [8 x i8] containing the subtrahends.
|
|
609
651
|
/// \returns A 64-bit integer vector of [8 x i8] containing the saturated
|
|
610
652
|
/// differences of both parameters.
|
|
611
|
-
static __inline__ __m64
|
|
653
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
612
654
|
_mm_subs_pu8(__m64 __m1, __m64 __m2)
|
|
613
655
|
{
|
|
614
|
-
return (__m64)
|
|
656
|
+
return (__m64)__builtin_elementwise_sub_sat((__v8qu)__m1, (__v8qu)__m2);
|
|
615
657
|
}
|
|
616
658
|
|
|
617
659
|
/// Subtracts each 16-bit unsigned integer element of the second 64-bit
|
|
@@ -632,10 +674,10 @@ _mm_subs_pu8(__m64 __m1, __m64 __m2)
|
|
|
632
674
|
/// A 64-bit integer vector of [4 x i16] containing the subtrahends.
|
|
633
675
|
/// \returns A 64-bit integer vector of [4 x i16] containing the saturated
|
|
634
676
|
/// differences of both parameters.
|
|
635
|
-
static __inline__ __m64
|
|
677
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
636
678
|
_mm_subs_pu16(__m64 __m1, __m64 __m2)
|
|
637
679
|
{
|
|
638
|
-
return (__m64)
|
|
680
|
+
return (__m64)__builtin_elementwise_sub_sat((__v4hu)__m1, (__v4hu)__m2);
|
|
639
681
|
}
|
|
640
682
|
|
|
641
683
|
/// Multiplies each 16-bit signed integer element of the first 64-bit
|
|
@@ -659,10 +701,11 @@ _mm_subs_pu16(__m64 __m1, __m64 __m2)
|
|
|
659
701
|
/// A 64-bit integer vector of [4 x i16].
|
|
660
702
|
/// \returns A 64-bit integer vector of [2 x i32] containing the sums of
|
|
661
703
|
/// products of both parameters.
|
|
662
|
-
static __inline__ __m64
|
|
704
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
663
705
|
_mm_madd_pi16(__m64 __m1, __m64 __m2)
|
|
664
706
|
{
|
|
665
|
-
return (
|
|
707
|
+
return __trunc64(__builtin_ia32_pmaddwd128((__v8hi)__anyext128(__m1),
|
|
708
|
+
(__v8hi)__anyext128(__m2)));
|
|
666
709
|
}
|
|
667
710
|
|
|
668
711
|
/// Multiplies each 16-bit signed integer element of the first 64-bit
|
|
@@ -680,10 +723,11 @@ _mm_madd_pi16(__m64 __m1, __m64 __m2)
|
|
|
680
723
|
/// A 64-bit integer vector of [4 x i16].
|
|
681
724
|
/// \returns A 64-bit integer vector of [4 x i16] containing the upper 16 bits
|
|
682
725
|
/// of the products of both parameters.
|
|
683
|
-
static __inline__ __m64
|
|
726
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
684
727
|
_mm_mulhi_pi16(__m64 __m1, __m64 __m2)
|
|
685
728
|
{
|
|
686
|
-
return (
|
|
729
|
+
return __trunc64(__builtin_ia32_pmulhw128((__v8hi)__anyext128(__m1),
|
|
730
|
+
(__v8hi)__anyext128(__m2)));
|
|
687
731
|
}
|
|
688
732
|
|
|
689
733
|
/// Multiplies each 16-bit signed integer element of the first 64-bit
|
|
@@ -701,10 +745,10 @@ _mm_mulhi_pi16(__m64 __m1, __m64 __m2)
|
|
|
701
745
|
/// A 64-bit integer vector of [4 x i16].
|
|
702
746
|
/// \returns A 64-bit integer vector of [4 x i16] containing the lower 16 bits
|
|
703
747
|
/// of the products of both parameters.
|
|
704
|
-
static __inline__ __m64
|
|
748
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
705
749
|
_mm_mullo_pi16(__m64 __m1, __m64 __m2)
|
|
706
750
|
{
|
|
707
|
-
return (__m64)
|
|
751
|
+
return (__m64)(((__v4hu)__m1) * ((__v4hu)__m2));
|
|
708
752
|
}
|
|
709
753
|
|
|
710
754
|
/// Left-shifts each 16-bit signed integer element of the first
|
|
@@ -724,10 +768,11 @@ _mm_mullo_pi16(__m64 __m1, __m64 __m2)
|
|
|
724
768
|
/// \returns A 64-bit integer vector of [4 x i16] containing the left-shifted
|
|
725
769
|
/// values. If \a __count is greater or equal to 16, the result is set to all
|
|
726
770
|
/// 0.
|
|
727
|
-
static __inline__ __m64
|
|
771
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
728
772
|
_mm_sll_pi16(__m64 __m, __m64 __count)
|
|
729
773
|
{
|
|
730
|
-
return (
|
|
774
|
+
return __trunc64(__builtin_ia32_psllw128((__v8hi)__anyext128(__m),
|
|
775
|
+
(__v8hi)__anyext128(__count)));
|
|
731
776
|
}
|
|
732
777
|
|
|
733
778
|
/// Left-shifts each 16-bit signed integer element of a 64-bit integer
|
|
@@ -746,10 +791,11 @@ _mm_sll_pi16(__m64 __m, __m64 __count)
|
|
|
746
791
|
/// \returns A 64-bit integer vector of [4 x i16] containing the left-shifted
|
|
747
792
|
/// values. If \a __count is greater or equal to 16, the result is set to all
|
|
748
793
|
/// 0.
|
|
749
|
-
static __inline__ __m64
|
|
794
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
750
795
|
_mm_slli_pi16(__m64 __m, int __count)
|
|
751
796
|
{
|
|
752
|
-
return (
|
|
797
|
+
return __trunc64(__builtin_ia32_psllwi128((__v8hi)__anyext128(__m),
|
|
798
|
+
__count));
|
|
753
799
|
}
|
|
754
800
|
|
|
755
801
|
/// Left-shifts each 32-bit signed integer element of the first
|
|
@@ -769,10 +815,11 @@ _mm_slli_pi16(__m64 __m, int __count)
|
|
|
769
815
|
/// \returns A 64-bit integer vector of [2 x i32] containing the left-shifted
|
|
770
816
|
/// values. If \a __count is greater or equal to 32, the result is set to all
|
|
771
817
|
/// 0.
|
|
772
|
-
static __inline__ __m64
|
|
818
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
773
819
|
_mm_sll_pi32(__m64 __m, __m64 __count)
|
|
774
820
|
{
|
|
775
|
-
return (
|
|
821
|
+
return __trunc64(__builtin_ia32_pslld128((__v4si)__anyext128(__m),
|
|
822
|
+
(__v4si)__anyext128(__count)));
|
|
776
823
|
}
|
|
777
824
|
|
|
778
825
|
/// Left-shifts each 32-bit signed integer element of a 64-bit integer
|
|
@@ -791,10 +838,11 @@ _mm_sll_pi32(__m64 __m, __m64 __count)
|
|
|
791
838
|
/// \returns A 64-bit integer vector of [2 x i32] containing the left-shifted
|
|
792
839
|
/// values. If \a __count is greater or equal to 32, the result is set to all
|
|
793
840
|
/// 0.
|
|
794
|
-
static __inline__ __m64
|
|
841
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
795
842
|
_mm_slli_pi32(__m64 __m, int __count)
|
|
796
843
|
{
|
|
797
|
-
return (
|
|
844
|
+
return __trunc64(__builtin_ia32_pslldi128((__v4si)__anyext128(__m),
|
|
845
|
+
__count));
|
|
798
846
|
}
|
|
799
847
|
|
|
800
848
|
/// Left-shifts the first 64-bit integer parameter by the number of bits
|
|
@@ -811,10 +859,11 @@ _mm_slli_pi32(__m64 __m, int __count)
|
|
|
811
859
|
/// A 64-bit integer vector interpreted as a single 64-bit integer.
|
|
812
860
|
/// \returns A 64-bit integer vector containing the left-shifted value. If
|
|
813
861
|
/// \a __count is greater or equal to 64, the result is set to 0.
|
|
814
|
-
static __inline__ __m64
|
|
862
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
815
863
|
_mm_sll_si64(__m64 __m, __m64 __count)
|
|
816
864
|
{
|
|
817
|
-
return (
|
|
865
|
+
return __trunc64(__builtin_ia32_psllq128((__v2di)__anyext128(__m),
|
|
866
|
+
(__v2di)__anyext128(__count)));
|
|
818
867
|
}
|
|
819
868
|
|
|
820
869
|
/// Left-shifts the first parameter, which is a 64-bit integer, by the
|
|
@@ -831,10 +880,11 @@ _mm_sll_si64(__m64 __m, __m64 __count)
|
|
|
831
880
|
/// A 32-bit integer value.
|
|
832
881
|
/// \returns A 64-bit integer vector containing the left-shifted value. If
|
|
833
882
|
/// \a __count is greater or equal to 64, the result is set to 0.
|
|
834
|
-
static __inline__ __m64
|
|
883
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
835
884
|
_mm_slli_si64(__m64 __m, int __count)
|
|
836
885
|
{
|
|
837
|
-
return (
|
|
886
|
+
return __trunc64(__builtin_ia32_psllqi128((__v2di)__anyext128(__m),
|
|
887
|
+
__count));
|
|
838
888
|
}
|
|
839
889
|
|
|
840
890
|
/// Right-shifts each 16-bit integer element of the first parameter,
|
|
@@ -855,10 +905,11 @@ _mm_slli_si64(__m64 __m, int __count)
|
|
|
855
905
|
/// A 64-bit integer vector interpreted as a single 64-bit integer.
|
|
856
906
|
/// \returns A 64-bit integer vector of [4 x i16] containing the right-shifted
|
|
857
907
|
/// values.
|
|
858
|
-
static __inline__ __m64
|
|
908
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
859
909
|
_mm_sra_pi16(__m64 __m, __m64 __count)
|
|
860
910
|
{
|
|
861
|
-
return (
|
|
911
|
+
return __trunc64(__builtin_ia32_psraw128((__v8hi)__anyext128(__m),
|
|
912
|
+
(__v8hi)__anyext128(__count)));
|
|
862
913
|
}
|
|
863
914
|
|
|
864
915
|
/// Right-shifts each 16-bit integer element of a 64-bit integer vector
|
|
@@ -878,10 +929,11 @@ _mm_sra_pi16(__m64 __m, __m64 __count)
|
|
|
878
929
|
/// A 32-bit integer value.
|
|
879
930
|
/// \returns A 64-bit integer vector of [4 x i16] containing the right-shifted
|
|
880
931
|
/// values.
|
|
881
|
-
static __inline__ __m64
|
|
932
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
882
933
|
_mm_srai_pi16(__m64 __m, int __count)
|
|
883
934
|
{
|
|
884
|
-
return (
|
|
935
|
+
return __trunc64(__builtin_ia32_psrawi128((__v8hi)__anyext128(__m),
|
|
936
|
+
__count));
|
|
885
937
|
}
|
|
886
938
|
|
|
887
939
|
/// Right-shifts each 32-bit integer element of the first parameter,
|
|
@@ -902,10 +954,11 @@ _mm_srai_pi16(__m64 __m, int __count)
|
|
|
902
954
|
/// A 64-bit integer vector interpreted as a single 64-bit integer.
|
|
903
955
|
/// \returns A 64-bit integer vector of [2 x i32] containing the right-shifted
|
|
904
956
|
/// values.
|
|
905
|
-
static __inline__ __m64
|
|
957
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
906
958
|
_mm_sra_pi32(__m64 __m, __m64 __count)
|
|
907
959
|
{
|
|
908
|
-
return (
|
|
960
|
+
return __trunc64(__builtin_ia32_psrad128((__v4si)__anyext128(__m),
|
|
961
|
+
(__v4si)__anyext128(__count)));
|
|
909
962
|
}
|
|
910
963
|
|
|
911
964
|
/// Right-shifts each 32-bit integer element of a 64-bit integer vector
|
|
@@ -925,10 +978,11 @@ _mm_sra_pi32(__m64 __m, __m64 __count)
|
|
|
925
978
|
/// A 32-bit integer value.
|
|
926
979
|
/// \returns A 64-bit integer vector of [2 x i32] containing the right-shifted
|
|
927
980
|
/// values.
|
|
928
|
-
static __inline__ __m64
|
|
981
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
929
982
|
_mm_srai_pi32(__m64 __m, int __count)
|
|
930
983
|
{
|
|
931
|
-
return (
|
|
984
|
+
return __trunc64(__builtin_ia32_psradi128((__v4si)__anyext128(__m),
|
|
985
|
+
__count));
|
|
932
986
|
}
|
|
933
987
|
|
|
934
988
|
/// Right-shifts each 16-bit integer element of the first parameter,
|
|
@@ -948,10 +1002,11 @@ _mm_srai_pi32(__m64 __m, int __count)
|
|
|
948
1002
|
/// A 64-bit integer vector interpreted as a single 64-bit integer.
|
|
949
1003
|
/// \returns A 64-bit integer vector of [4 x i16] containing the right-shifted
|
|
950
1004
|
/// values.
|
|
951
|
-
static __inline__ __m64
|
|
1005
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
952
1006
|
_mm_srl_pi16(__m64 __m, __m64 __count)
|
|
953
1007
|
{
|
|
954
|
-
return (
|
|
1008
|
+
return __trunc64(__builtin_ia32_psrlw128((__v8hi)__anyext128(__m),
|
|
1009
|
+
(__v8hi)__anyext128(__count)));
|
|
955
1010
|
}
|
|
956
1011
|
|
|
957
1012
|
/// Right-shifts each 16-bit integer element of a 64-bit integer vector
|
|
@@ -970,10 +1025,11 @@ _mm_srl_pi16(__m64 __m, __m64 __count)
|
|
|
970
1025
|
/// A 32-bit integer value.
|
|
971
1026
|
/// \returns A 64-bit integer vector of [4 x i16] containing the right-shifted
|
|
972
1027
|
/// values.
|
|
973
|
-
static __inline__ __m64
|
|
1028
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
974
1029
|
_mm_srli_pi16(__m64 __m, int __count)
|
|
975
1030
|
{
|
|
976
|
-
return (
|
|
1031
|
+
return __trunc64(__builtin_ia32_psrlwi128((__v8hi)__anyext128(__m),
|
|
1032
|
+
__count));
|
|
977
1033
|
}
|
|
978
1034
|
|
|
979
1035
|
/// Right-shifts each 32-bit integer element of the first parameter,
|
|
@@ -993,10 +1049,11 @@ _mm_srli_pi16(__m64 __m, int __count)
|
|
|
993
1049
|
/// A 64-bit integer vector interpreted as a single 64-bit integer.
|
|
994
1050
|
/// \returns A 64-bit integer vector of [2 x i32] containing the right-shifted
|
|
995
1051
|
/// values.
|
|
996
|
-
static __inline__ __m64
|
|
1052
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
997
1053
|
_mm_srl_pi32(__m64 __m, __m64 __count)
|
|
998
1054
|
{
|
|
999
|
-
return (
|
|
1055
|
+
return __trunc64(__builtin_ia32_psrld128((__v4si)__anyext128(__m),
|
|
1056
|
+
(__v4si)__anyext128(__count)));
|
|
1000
1057
|
}
|
|
1001
1058
|
|
|
1002
1059
|
/// Right-shifts each 32-bit integer element of a 64-bit integer vector
|
|
@@ -1015,10 +1072,11 @@ _mm_srl_pi32(__m64 __m, __m64 __count)
|
|
|
1015
1072
|
/// A 32-bit integer value.
|
|
1016
1073
|
/// \returns A 64-bit integer vector of [2 x i32] containing the right-shifted
|
|
1017
1074
|
/// values.
|
|
1018
|
-
static __inline__ __m64
|
|
1075
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
1019
1076
|
_mm_srli_pi32(__m64 __m, int __count)
|
|
1020
1077
|
{
|
|
1021
|
-
return (
|
|
1078
|
+
return __trunc64(__builtin_ia32_psrldi128((__v4si)__anyext128(__m),
|
|
1079
|
+
__count));
|
|
1022
1080
|
}
|
|
1023
1081
|
|
|
1024
1082
|
/// Right-shifts the first 64-bit integer parameter by the number of bits
|
|
@@ -1035,10 +1093,11 @@ _mm_srli_pi32(__m64 __m, int __count)
|
|
|
1035
1093
|
/// \param __count
|
|
1036
1094
|
/// A 64-bit integer vector interpreted as a single 64-bit integer.
|
|
1037
1095
|
/// \returns A 64-bit integer vector containing the right-shifted value.
|
|
1038
|
-
static __inline__ __m64
|
|
1096
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
1039
1097
|
_mm_srl_si64(__m64 __m, __m64 __count)
|
|
1040
1098
|
{
|
|
1041
|
-
return (
|
|
1099
|
+
return __trunc64(__builtin_ia32_psrlq128((__v2di)__anyext128(__m),
|
|
1100
|
+
(__v2di)__anyext128(__count)));
|
|
1042
1101
|
}
|
|
1043
1102
|
|
|
1044
1103
|
/// Right-shifts the first parameter, which is a 64-bit integer, by the
|
|
@@ -1056,10 +1115,11 @@ _mm_srl_si64(__m64 __m, __m64 __count)
|
|
|
1056
1115
|
/// \param __count
|
|
1057
1116
|
/// A 32-bit integer value.
|
|
1058
1117
|
/// \returns A 64-bit integer vector containing the right-shifted value.
|
|
1059
|
-
static __inline__ __m64
|
|
1118
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
1060
1119
|
_mm_srli_si64(__m64 __m, int __count)
|
|
1061
1120
|
{
|
|
1062
|
-
return (
|
|
1121
|
+
return __trunc64(__builtin_ia32_psrlqi128((__v2di)__anyext128(__m),
|
|
1122
|
+
__count));
|
|
1063
1123
|
}
|
|
1064
1124
|
|
|
1065
1125
|
/// Performs a bitwise AND of two 64-bit integer vectors.
|
|
@@ -1074,10 +1134,10 @@ _mm_srli_si64(__m64 __m, int __count)
|
|
|
1074
1134
|
/// A 64-bit integer vector.
|
|
1075
1135
|
/// \returns A 64-bit integer vector containing the bitwise AND of both
|
|
1076
1136
|
/// parameters.
|
|
1077
|
-
static __inline__ __m64
|
|
1137
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
1078
1138
|
_mm_and_si64(__m64 __m1, __m64 __m2)
|
|
1079
1139
|
{
|
|
1080
|
-
return
|
|
1140
|
+
return (__m64)(((__v1du)__m1) & ((__v1du)__m2));
|
|
1081
1141
|
}
|
|
1082
1142
|
|
|
1083
1143
|
/// Performs a bitwise NOT of the first 64-bit integer vector, and then
|
|
@@ -1095,10 +1155,10 @@ _mm_and_si64(__m64 __m1, __m64 __m2)
|
|
|
1095
1155
|
/// A 64-bit integer vector.
|
|
1096
1156
|
/// \returns A 64-bit integer vector containing the bitwise AND of the second
|
|
1097
1157
|
/// parameter and the one's complement of the first parameter.
|
|
1098
|
-
static __inline__ __m64
|
|
1158
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
1099
1159
|
_mm_andnot_si64(__m64 __m1, __m64 __m2)
|
|
1100
1160
|
{
|
|
1101
|
-
return
|
|
1161
|
+
return (__m64)(~((__v1du)__m1) & ((__v1du)__m2));
|
|
1102
1162
|
}
|
|
1103
1163
|
|
|
1104
1164
|
/// Performs a bitwise OR of two 64-bit integer vectors.
|
|
@@ -1113,10 +1173,10 @@ _mm_andnot_si64(__m64 __m1, __m64 __m2)
|
|
|
1113
1173
|
/// A 64-bit integer vector.
|
|
1114
1174
|
/// \returns A 64-bit integer vector containing the bitwise OR of both
|
|
1115
1175
|
/// parameters.
|
|
1116
|
-
static __inline__ __m64
|
|
1176
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
1117
1177
|
_mm_or_si64(__m64 __m1, __m64 __m2)
|
|
1118
1178
|
{
|
|
1119
|
-
return
|
|
1179
|
+
return (__m64)(((__v1du)__m1) | ((__v1du)__m2));
|
|
1120
1180
|
}
|
|
1121
1181
|
|
|
1122
1182
|
/// Performs a bitwise exclusive OR of two 64-bit integer vectors.
|
|
@@ -1131,10 +1191,10 @@ _mm_or_si64(__m64 __m1, __m64 __m2)
|
|
|
1131
1191
|
/// A 64-bit integer vector.
|
|
1132
1192
|
/// \returns A 64-bit integer vector containing the bitwise exclusive OR of both
|
|
1133
1193
|
/// parameters.
|
|
1134
|
-
static __inline__ __m64
|
|
1194
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
1135
1195
|
_mm_xor_si64(__m64 __m1, __m64 __m2)
|
|
1136
1196
|
{
|
|
1137
|
-
return
|
|
1197
|
+
return (__m64)(((__v1du)__m1) ^ ((__v1du)__m2));
|
|
1138
1198
|
}
|
|
1139
1199
|
|
|
1140
1200
|
/// Compares the 8-bit integer elements of two 64-bit integer vectors of
|
|
@@ -1153,10 +1213,10 @@ _mm_xor_si64(__m64 __m1, __m64 __m2)
|
|
|
1153
1213
|
/// A 64-bit integer vector of [8 x i8].
|
|
1154
1214
|
/// \returns A 64-bit integer vector of [8 x i8] containing the comparison
|
|
1155
1215
|
/// results.
|
|
1156
|
-
static __inline__ __m64
|
|
1216
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
1157
1217
|
_mm_cmpeq_pi8(__m64 __m1, __m64 __m2)
|
|
1158
1218
|
{
|
|
1159
|
-
return (__m64)
|
|
1219
|
+
return (__m64)(((__v8qi)__m1) == ((__v8qi)__m2));
|
|
1160
1220
|
}
|
|
1161
1221
|
|
|
1162
1222
|
/// Compares the 16-bit integer elements of two 64-bit integer vectors of
|
|
@@ -1175,10 +1235,10 @@ _mm_cmpeq_pi8(__m64 __m1, __m64 __m2)
|
|
|
1175
1235
|
/// A 64-bit integer vector of [4 x i16].
|
|
1176
1236
|
/// \returns A 64-bit integer vector of [4 x i16] containing the comparison
|
|
1177
1237
|
/// results.
|
|
1178
|
-
static __inline__ __m64
|
|
1238
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
1179
1239
|
_mm_cmpeq_pi16(__m64 __m1, __m64 __m2)
|
|
1180
1240
|
{
|
|
1181
|
-
return (__m64)
|
|
1241
|
+
return (__m64)(((__v4hi)__m1) == ((__v4hi)__m2));
|
|
1182
1242
|
}
|
|
1183
1243
|
|
|
1184
1244
|
/// Compares the 32-bit integer elements of two 64-bit integer vectors of
|
|
@@ -1197,10 +1257,10 @@ _mm_cmpeq_pi16(__m64 __m1, __m64 __m2)
|
|
|
1197
1257
|
/// A 64-bit integer vector of [2 x i32].
|
|
1198
1258
|
/// \returns A 64-bit integer vector of [2 x i32] containing the comparison
|
|
1199
1259
|
/// results.
|
|
1200
|
-
static __inline__ __m64
|
|
1260
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
1201
1261
|
_mm_cmpeq_pi32(__m64 __m1, __m64 __m2)
|
|
1202
1262
|
{
|
|
1203
|
-
return (__m64)
|
|
1263
|
+
return (__m64)(((__v2si)__m1) == ((__v2si)__m2));
|
|
1204
1264
|
}
|
|
1205
1265
|
|
|
1206
1266
|
/// Compares the 8-bit integer elements of two 64-bit integer vectors of
|
|
@@ -1219,10 +1279,12 @@ _mm_cmpeq_pi32(__m64 __m1, __m64 __m2)
|
|
|
1219
1279
|
/// A 64-bit integer vector of [8 x i8].
|
|
1220
1280
|
/// \returns A 64-bit integer vector of [8 x i8] containing the comparison
|
|
1221
1281
|
/// results.
|
|
1222
|
-
static __inline__ __m64
|
|
1282
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
1223
1283
|
_mm_cmpgt_pi8(__m64 __m1, __m64 __m2)
|
|
1224
1284
|
{
|
|
1225
|
-
|
|
1285
|
+
/* This function always performs a signed comparison, but __v8qi is a char
|
|
1286
|
+
which may be signed or unsigned, so use __v8qs. */
|
|
1287
|
+
return (__m64)((__v8qs)__m1 > (__v8qs)__m2);
|
|
1226
1288
|
}
|
|
1227
1289
|
|
|
1228
1290
|
/// Compares the 16-bit integer elements of two 64-bit integer vectors of
|
|
@@ -1241,10 +1303,10 @@ _mm_cmpgt_pi8(__m64 __m1, __m64 __m2)
|
|
|
1241
1303
|
/// A 64-bit integer vector of [4 x i16].
|
|
1242
1304
|
/// \returns A 64-bit integer vector of [4 x i16] containing the comparison
|
|
1243
1305
|
/// results.
|
|
1244
|
-
static __inline__ __m64
|
|
1306
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
1245
1307
|
_mm_cmpgt_pi16(__m64 __m1, __m64 __m2)
|
|
1246
1308
|
{
|
|
1247
|
-
return (__m64)
|
|
1309
|
+
return (__m64)((__v4hi)__m1 > (__v4hi)__m2);
|
|
1248
1310
|
}
|
|
1249
1311
|
|
|
1250
1312
|
/// Compares the 32-bit integer elements of two 64-bit integer vectors of
|
|
@@ -1263,10 +1325,10 @@ _mm_cmpgt_pi16(__m64 __m1, __m64 __m2)
|
|
|
1263
1325
|
/// A 64-bit integer vector of [2 x i32].
|
|
1264
1326
|
/// \returns A 64-bit integer vector of [2 x i32] containing the comparison
|
|
1265
1327
|
/// results.
|
|
1266
|
-
static __inline__ __m64
|
|
1328
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
1267
1329
|
_mm_cmpgt_pi32(__m64 __m1, __m64 __m2)
|
|
1268
1330
|
{
|
|
1269
|
-
return (__m64)
|
|
1331
|
+
return (__m64)((__v2si)__m1 > (__v2si)__m2);
|
|
1270
1332
|
}
|
|
1271
1333
|
|
|
1272
1334
|
/// Constructs a 64-bit integer vector initialized to zero.
|
|
@@ -1276,10 +1338,9 @@ _mm_cmpgt_pi32(__m64 __m1, __m64 __m2)
|
|
|
1276
1338
|
/// This intrinsic corresponds to the <c> PXOR </c> instruction.
|
|
1277
1339
|
///
|
|
1278
1340
|
/// \returns An initialized 64-bit integer vector with all elements set to zero.
|
|
1279
|
-
static __inline__ __m64
|
|
1280
|
-
_mm_setzero_si64(void)
|
|
1281
|
-
{
|
|
1282
|
-
return __extension__ (__m64){ 0LL };
|
|
1341
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
1342
|
+
_mm_setzero_si64(void) {
|
|
1343
|
+
return __extension__(__m64){0LL};
|
|
1283
1344
|
}
|
|
1284
1345
|
|
|
1285
1346
|
/// Constructs a 64-bit integer vector initialized with the specified
|
|
@@ -1297,10 +1358,9 @@ _mm_setzero_si64(void)
|
|
|
1297
1358
|
/// A 32-bit integer value used to initialize the lower 32 bits of the
|
|
1298
1359
|
/// result.
|
|
1299
1360
|
/// \returns An initialized 64-bit integer vector.
|
|
1300
|
-
static __inline__ __m64
|
|
1301
|
-
_mm_set_pi32(int __i1, int __i0)
|
|
1302
|
-
{
|
|
1303
|
-
return (__m64)__builtin_ia32_vec_init_v2si(__i0, __i1);
|
|
1361
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
1362
|
+
_mm_set_pi32(int __i1, int __i0) {
|
|
1363
|
+
return __extension__(__m64)(__v2si){__i0, __i1};
|
|
1304
1364
|
}
|
|
1305
1365
|
|
|
1306
1366
|
/// Constructs a 64-bit integer vector initialized with the specified
|
|
@@ -1320,10 +1380,9 @@ _mm_set_pi32(int __i1, int __i0)
|
|
|
1320
1380
|
/// \param __s0
|
|
1321
1381
|
/// A 16-bit integer value used to initialize bits [15:0] of the result.
|
|
1322
1382
|
/// \returns An initialized 64-bit integer vector.
|
|
1323
|
-
static __inline__ __m64
|
|
1324
|
-
_mm_set_pi16(short __s3, short __s2, short __s1, short __s0)
|
|
1325
|
-
{
|
|
1326
|
-
return (__m64)__builtin_ia32_vec_init_v4hi(__s0, __s1, __s2, __s3);
|
|
1383
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
1384
|
+
_mm_set_pi16(short __s3, short __s2, short __s1, short __s0) {
|
|
1385
|
+
return __extension__(__m64)(__v4hi){__s0, __s1, __s2, __s3};
|
|
1327
1386
|
}
|
|
1328
1387
|
|
|
1329
1388
|
/// Constructs a 64-bit integer vector initialized with the specified
|
|
@@ -1351,12 +1410,11 @@ _mm_set_pi16(short __s3, short __s2, short __s1, short __s0)
|
|
|
1351
1410
|
/// \param __b0
|
|
1352
1411
|
/// An 8-bit integer value used to initialize bits [7:0] of the result.
|
|
1353
1412
|
/// \returns An initialized 64-bit integer vector.
|
|
1354
|
-
static __inline__ __m64
|
|
1413
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
1355
1414
|
_mm_set_pi8(char __b7, char __b6, char __b5, char __b4, char __b3, char __b2,
|
|
1356
|
-
char __b1, char __b0)
|
|
1357
|
-
{
|
|
1358
|
-
|
|
1359
|
-
__b4, __b5, __b6, __b7);
|
|
1415
|
+
char __b1, char __b0) {
|
|
1416
|
+
return __extension__(__m64)(__v8qi){__b0, __b1, __b2, __b3,
|
|
1417
|
+
__b4, __b5, __b6, __b7};
|
|
1360
1418
|
}
|
|
1361
1419
|
|
|
1362
1420
|
/// Constructs a 64-bit integer vector of [2 x i32], with each of the
|
|
@@ -1372,10 +1430,9 @@ _mm_set_pi8(char __b7, char __b6, char __b5, char __b4, char __b3, char __b2,
|
|
|
1372
1430
|
/// A 32-bit integer value used to initialize each vector element of the
|
|
1373
1431
|
/// result.
|
|
1374
1432
|
/// \returns An initialized 64-bit integer vector of [2 x i32].
|
|
1375
|
-
static __inline__ __m64
|
|
1376
|
-
_mm_set1_pi32(int __i)
|
|
1377
|
-
|
|
1378
|
-
return _mm_set_pi32(__i, __i);
|
|
1433
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
1434
|
+
_mm_set1_pi32(int __i) {
|
|
1435
|
+
return _mm_set_pi32(__i, __i);
|
|
1379
1436
|
}
|
|
1380
1437
|
|
|
1381
1438
|
/// Constructs a 64-bit integer vector of [4 x i16], with each of the
|
|
@@ -1391,10 +1448,9 @@ _mm_set1_pi32(int __i)
|
|
|
1391
1448
|
/// A 16-bit integer value used to initialize each vector element of the
|
|
1392
1449
|
/// result.
|
|
1393
1450
|
/// \returns An initialized 64-bit integer vector of [4 x i16].
|
|
1394
|
-
static __inline__ __m64
|
|
1395
|
-
_mm_set1_pi16(short __w)
|
|
1396
|
-
|
|
1397
|
-
return _mm_set_pi16(__w, __w, __w, __w);
|
|
1451
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
1452
|
+
_mm_set1_pi16(short __w) {
|
|
1453
|
+
return _mm_set_pi16(__w, __w, __w, __w);
|
|
1398
1454
|
}
|
|
1399
1455
|
|
|
1400
1456
|
/// Constructs a 64-bit integer vector of [8 x i8], with each of the
|
|
@@ -1409,10 +1465,9 @@ _mm_set1_pi16(short __w)
|
|
|
1409
1465
|
/// An 8-bit integer value used to initialize each vector element of the
|
|
1410
1466
|
/// result.
|
|
1411
1467
|
/// \returns An initialized 64-bit integer vector of [8 x i8].
|
|
1412
|
-
static __inline__ __m64
|
|
1413
|
-
_mm_set1_pi8(char __b)
|
|
1414
|
-
|
|
1415
|
-
return _mm_set_pi8(__b, __b, __b, __b, __b, __b, __b, __b);
|
|
1468
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
1469
|
+
_mm_set1_pi8(char __b) {
|
|
1470
|
+
return _mm_set_pi8(__b, __b, __b, __b, __b, __b, __b, __b);
|
|
1416
1471
|
}
|
|
1417
1472
|
|
|
1418
1473
|
/// Constructs a 64-bit integer vector, initialized in reverse order with
|
|
@@ -1430,10 +1485,9 @@ _mm_set1_pi8(char __b)
|
|
|
1430
1485
|
/// A 32-bit integer value used to initialize the upper 32 bits of the
|
|
1431
1486
|
/// result.
|
|
1432
1487
|
/// \returns An initialized 64-bit integer vector.
|
|
1433
|
-
static __inline__ __m64
|
|
1434
|
-
_mm_setr_pi32(int __i0, int __i1)
|
|
1435
|
-
|
|
1436
|
-
return _mm_set_pi32(__i1, __i0);
|
|
1488
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
1489
|
+
_mm_setr_pi32(int __i0, int __i1) {
|
|
1490
|
+
return _mm_set_pi32(__i1, __i0);
|
|
1437
1491
|
}
|
|
1438
1492
|
|
|
1439
1493
|
/// Constructs a 64-bit integer vector, initialized in reverse order with
|
|
@@ -1453,10 +1507,9 @@ _mm_setr_pi32(int __i0, int __i1)
|
|
|
1453
1507
|
/// \param __w3
|
|
1454
1508
|
/// A 16-bit integer value used to initialize bits [63:48] of the result.
|
|
1455
1509
|
/// \returns An initialized 64-bit integer vector.
|
|
1456
|
-
static __inline__ __m64
|
|
1457
|
-
_mm_setr_pi16(short __w0, short __w1, short __w2, short __w3)
|
|
1458
|
-
|
|
1459
|
-
return _mm_set_pi16(__w3, __w2, __w1, __w0);
|
|
1510
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
1511
|
+
_mm_setr_pi16(short __w0, short __w1, short __w2, short __w3) {
|
|
1512
|
+
return _mm_set_pi16(__w3, __w2, __w1, __w0);
|
|
1460
1513
|
}
|
|
1461
1514
|
|
|
1462
1515
|
/// Constructs a 64-bit integer vector, initialized in reverse order with
|
|
@@ -1484,14 +1537,15 @@ _mm_setr_pi16(short __w0, short __w1, short __w2, short __w3)
|
|
|
1484
1537
|
/// \param __b7
|
|
1485
1538
|
/// An 8-bit integer value used to initialize bits [63:56] of the result.
|
|
1486
1539
|
/// \returns An initialized 64-bit integer vector.
|
|
1487
|
-
static __inline__ __m64
|
|
1540
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
1488
1541
|
_mm_setr_pi8(char __b0, char __b1, char __b2, char __b3, char __b4, char __b5,
|
|
1489
|
-
char __b6, char __b7)
|
|
1490
|
-
|
|
1491
|
-
return _mm_set_pi8(__b7, __b6, __b5, __b4, __b3, __b2, __b1, __b0);
|
|
1542
|
+
char __b6, char __b7) {
|
|
1543
|
+
return _mm_set_pi8(__b7, __b6, __b5, __b4, __b3, __b2, __b1, __b0);
|
|
1492
1544
|
}
|
|
1493
1545
|
|
|
1494
|
-
#undef
|
|
1546
|
+
#undef __anyext128
|
|
1547
|
+
#undef __trunc64
|
|
1548
|
+
#undef __DEFAULT_FN_ATTRS_SSE2
|
|
1495
1549
|
|
|
1496
1550
|
/* Aliases for compatibility. */
|
|
1497
1551
|
#define _m_empty _mm_empty
|