@cpp-linter/clang-tidy-win32-x64 19.1.0 → 23.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/clang-tidy.exe +2 -2
- package/lib/clang/23/include/__clang_cuda_complex_builtins.h +236 -0
- package/lib/clang/{19 → 23}/include/__clang_cuda_device_functions.h +15 -1
- package/lib/clang/{19 → 23}/include/__clang_cuda_intrinsics.h +288 -20
- package/lib/clang/{19 → 23}/include/__clang_cuda_math.h +5 -0
- package/lib/clang/{19 → 23}/include/__clang_cuda_math_forward_declares.h +5 -0
- package/lib/clang/{19 → 23}/include/__clang_cuda_runtime_wrapper.h +28 -5
- package/lib/clang/{19 → 23}/include/__clang_cuda_texture_intrinsics.h +437 -2
- package/lib/clang/23/include/__clang_gpu_builtin_vars.h +71 -0
- package/lib/clang/23/include/__clang_gpu_device_functions.h +411 -0
- package/lib/clang/23/include/__clang_gpu_intrinsics.h +242 -0
- package/lib/clang/{19 → 23}/include/__clang_hip_cmath.h +15 -9
- package/lib/clang/{19 → 23}/include/__clang_hip_libdevice_declares.h +24 -139
- package/lib/clang/{19 → 23}/include/__clang_hip_math.h +115 -34
- package/lib/clang/{19 → 23}/include/__clang_hip_runtime_wrapper.h +12 -1
- package/lib/clang/23/include/__clang_spirv_builtins.h +217 -0
- package/lib/clang/23/include/__clang_spirv_libdevice_declares.h +170 -0
- package/lib/clang/23/include/__clang_spirv_math.h +719 -0
- package/lib/clang/{19/include/float.h → 23/include/__float_float.h} +14 -34
- package/lib/clang/23/include/__float_header_macro.h +12 -0
- package/lib/clang/23/include/__float_infinity_nan.h +20 -0
- package/lib/clang/{19 → 23}/include/__stdarg_va_arg.h +2 -2
- package/lib/clang/{19 → 23}/include/adcintrin.h +5 -0
- package/lib/clang/{19 → 23}/include/adxintrin.h +5 -0
- package/lib/clang/{19 → 23}/include/altivec.h +169 -96
- package/lib/clang/23/include/amdgpuintrin.h +164 -0
- package/lib/clang/23/include/amdhsa_abi.h +83 -0
- package/lib/clang/23/include/amo.h +220 -0
- package/lib/clang/23/include/amxavx512intrin.h +596 -0
- package/lib/clang/{19 → 23}/include/amxcomplexintrin.h +4 -6
- package/lib/clang/{19 → 23}/include/amxfp16intrin.h +35 -0
- package/lib/clang/23/include/amxfp8intrin.h +230 -0
- package/lib/clang/{19 → 23}/include/amxintrin.h +3 -35
- package/lib/clang/23/include/amxmovrsintrin.h +48 -0
- package/lib/clang/23/include/andes_vector.h +21 -0
- package/lib/clang/23/include/arm64_neon.h +21 -0
- package/lib/clang/{19 → 23}/include/arm64intr.h +10 -0
- package/lib/clang/{19 → 23}/include/arm_acle.h +67 -89
- package/lib/clang/{19 → 23}/include/arm_fp16.h +89 -89
- package/lib/clang/{19 → 23}/include/arm_neon.h +43614 -38901
- package/lib/clang/{19 → 23}/include/arm_sme.h +1028 -94
- package/lib/clang/{19 → 23}/include/arm_sve.h +7331 -5170
- package/lib/clang/{19 → 23}/include/arm_vector_types.h +87 -0
- package/lib/clang/23/include/avx10_2_512bf16intrin.h +568 -0
- package/lib/clang/23/include/avx10_2_512convertintrin.h +322 -0
- package/lib/clang/23/include/avx10_2_512minmaxintrin.h +127 -0
- package/lib/clang/23/include/avx10_2_512niintrin.h +314 -0
- package/lib/clang/23/include/avx10_2_512satcvtdsintrin.h +307 -0
- package/lib/clang/23/include/avx10_2_512satcvtintrin.h +301 -0
- package/lib/clang/23/include/avx10_2bf16intrin.h +1094 -0
- package/lib/clang/23/include/avx10_2convertintrin.h +3257 -0
- package/lib/clang/23/include/avx10_2copyintrin.h +66 -0
- package/lib/clang/23/include/avx10_2minmaxintrin.h +232 -0
- package/lib/clang/23/include/avx10_2niintrin.h +409 -0
- package/lib/clang/23/include/avx10_2satcvtdsintrin.h +376 -0
- package/lib/clang/23/include/avx10_2satcvtintrin.h +312 -0
- package/lib/clang/{19 → 23}/include/avx2intrin.h +284 -378
- package/lib/clang/{19 → 23}/include/avx512bf16intrin.h +25 -16
- package/lib/clang/{19 → 23}/include/avx512bitalgintrin.h +21 -32
- package/lib/clang/23/include/avx512bmmintrin.h +174 -0
- package/lib/clang/23/include/avx512bmmvlintrin.h +245 -0
- package/lib/clang/{19 → 23}/include/avx512bwintrin.h +405 -534
- package/lib/clang/23/include/avx512cdintrin.h +112 -0
- package/lib/clang/{19 → 23}/include/avx512dqintrin.h +132 -161
- package/lib/clang/{19 → 23}/include/avx512fintrin.h +1068 -1496
- package/lib/clang/{19 → 23}/include/avx512fp16intrin.h +126 -129
- package/lib/clang/23/include/avx512ifmaintrin.h +68 -0
- package/lib/clang/23/include/avx512ifmavlintrin.h +138 -0
- package/lib/clang/{19 → 23}/include/avx512vbmi2intrin.h +55 -48
- package/lib/clang/{19 → 23}/include/avx512vbmiintrin.h +19 -27
- package/lib/clang/{19 → 23}/include/avx512vbmivlintrin.h +35 -49
- package/lib/clang/{19 → 23}/include/avx512vlbf16intrin.h +32 -22
- package/lib/clang/{19 → 23}/include/avx512vlbitalgintrin.h +41 -57
- package/lib/clang/{19 → 23}/include/avx512vlbwintrin.h +494 -609
- package/lib/clang/23/include/avx512vlcdintrin.h +202 -0
- package/lib/clang/{19 → 23}/include/avx512vldqintrin.h +110 -127
- package/lib/clang/{19 → 23}/include/avx512vlfp16intrin.h +130 -111
- package/lib/clang/{19 → 23}/include/avx512vlintrin.h +1025 -1395
- package/lib/clang/{19 → 23}/include/avx512vlvbmi2intrin.h +102 -95
- package/lib/clang/{19 → 23}/include/avx512vlvnniintrin.h +50 -52
- package/lib/clang/{19 → 23}/include/avx512vlvp2intersectintrin.h +2 -2
- package/lib/clang/{19 → 23}/include/avx512vnniintrin.h +42 -45
- package/lib/clang/{19 → 23}/include/avx512vp2intersectintrin.h +2 -3
- package/lib/clang/{19 → 23}/include/avx512vpopcntdqintrin.h +10 -4
- package/lib/clang/{19 → 23}/include/avx512vpopcntdqvlintrin.h +20 -10
- package/lib/clang/{19 → 23}/include/avxifmaintrin.h +16 -0
- package/lib/clang/{19 → 23}/include/avxintrin.h +186 -248
- package/lib/clang/{19 → 23}/include/avxvnniint16intrin.h +130 -152
- package/lib/clang/{19 → 23}/include/avxvnniint8intrin.h +68 -85
- package/lib/clang/{19 → 23}/include/avxvnniintrin.h +39 -26
- package/lib/clang/{19 → 23}/include/bmi2intrin.h +15 -17
- package/lib/clang/{19 → 23}/include/bmiintrin.h +31 -41
- package/lib/clang/{19 → 23}/include/cmpccxaddintrin.h +1 -1
- package/lib/clang/{19 → 23}/include/cpuid.h +137 -37
- package/lib/clang/{19 → 23}/include/crc32intrin.h +10 -8
- package/lib/clang/23/include/cuda_wrappers/__utility/declval.h +28 -0
- package/lib/clang/23/include/cuda_wrappers/bits/c++config.h +61 -0
- package/lib/clang/23/include/cuda_wrappers/cmath +44 -0
- package/lib/clang/{19 → 23}/include/cuda_wrappers/new +2 -0
- package/lib/clang/{19 → 23}/include/emmintrin.h +306 -272
- package/lib/clang/23/include/endian.h +91 -0
- package/lib/clang/{19 → 23}/include/f16cintrin.h +23 -9
- package/lib/clang/23/include/float.h +48 -0
- package/lib/clang/23/include/fma4intrin.h +220 -0
- package/lib/clang/{19 → 23}/include/fmaintrin.h +96 -66
- package/lib/clang/{19 → 23}/include/gfniintrin.h +39 -12
- package/lib/clang/23/include/gpuintrin.h +348 -0
- package/lib/clang/{19 → 23}/include/hexagon_types.h +31 -24
- package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics.h +222 -0
- package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics_gen.inc +3869 -0
- package/lib/clang/23/include/hlsl/hlsl_basic_types.h +370 -0
- package/lib/clang/23/include/hlsl/hlsl_compat_overloads.h +559 -0
- package/lib/clang/23/include/hlsl/hlsl_detail.h +56 -0
- package/lib/clang/23/include/hlsl/hlsl_inline_intrinsics_gen.inc +546 -0
- package/lib/clang/23/include/hlsl/hlsl_intrinsic_helpers.h +170 -0
- package/lib/clang/23/include/hlsl/hlsl_intrinsics.h +331 -0
- package/lib/clang/23/include/hlsl/hlsl_spirv.h +28 -0
- package/lib/clang/23/include/hlsl.h +38 -0
- package/lib/clang/{19 → 23}/include/hvx_hexagon_protos.h +1041 -803
- package/lib/clang/{19 → 23}/include/immintrin.h +35 -185
- package/lib/clang/{19 → 23}/include/intrin.h +62 -21
- package/lib/clang/{19 → 23}/include/intrin0.h +10 -1
- package/lib/clang/{19 → 23}/include/keylockerintrin.h +0 -9
- package/lib/clang/{19 → 23}/include/larchintrin.h +24 -8
- package/lib/clang/{19 → 23}/include/lasxintrin.h +140 -25
- package/lib/clang/{19 → 23}/include/limits.h +7 -4
- package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/assert.h +3 -5
- package/lib/clang/23/include/llvm_libc_wrappers/ctype.h +29 -0
- package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/inttypes.h +3 -5
- package/lib/clang/23/include/llvm_libc_wrappers/stdio.h +52 -0
- package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/stdlib.h +3 -16
- package/lib/clang/23/include/llvm_libc_wrappers/string.h +29 -0
- package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/time.h +4 -10
- package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
- package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
- package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
- package/lib/clang/{19 → 23}/include/lsxintrin.h +27 -25
- package/lib/clang/{19 → 23}/include/lzcntintrin.h +13 -8
- package/lib/clang/{19 → 23}/include/mmintrin.h +241 -256
- package/lib/clang/{19 → 23}/include/module.modulemap +54 -9
- package/lib/clang/23/include/movrs_avx10_2_512intrin.h +98 -0
- package/lib/clang/23/include/movrs_avx10_2intrin.h +174 -0
- package/lib/clang/23/include/movrsintrin.h +59 -0
- package/lib/clang/23/include/nvptxintrin.h +208 -0
- package/lib/clang/{19 → 23}/include/opencl-c-base.h +28 -92
- package/lib/clang/{19 → 23}/include/opencl-c.h +506 -140
- package/lib/clang/{19 → 23}/include/openmp_wrappers/__clang_openmp_device_functions.h +18 -5
- package/lib/clang/{19 → 23}/include/openmp_wrappers/complex +7 -1
- package/lib/clang/{19 → 23}/include/openmp_wrappers/complex.h +6 -0
- package/lib/clang/{19 → 23}/include/openmp_wrappers/complex_cmath.h +7 -2
- package/lib/clang/{19 → 23}/include/openmp_wrappers/math.h +10 -0
- package/lib/clang/{19 → 23}/include/pmmintrin.h +24 -23
- package/lib/clang/{19 → 23}/include/popcntintrin.h +7 -7
- package/lib/clang/{19 → 23}/include/prfchwintrin.h +10 -13
- package/lib/clang/{19 → 23}/include/ptrauth.h +169 -14
- package/lib/clang/{19 → 23}/include/riscv_bitmanip.h +7 -0
- package/lib/clang/23/include/riscv_corev_alu.h +130 -0
- package/lib/clang/{19 → 23}/include/riscv_crypto.h +8 -0
- package/lib/clang/23/include/riscv_mips.h +36 -0
- package/lib/clang/23/include/riscv_nds.h +92 -0
- package/lib/clang/{19 → 23}/include/riscv_ntlh.h +2 -0
- package/lib/clang/23/include/riscv_packed_simd.h +644 -0
- package/lib/clang/{19 → 23}/include/riscv_vector.h +43 -5
- package/lib/clang/{19 → 23}/include/shaintrin.h +3 -2
- package/lib/clang/{19 → 23}/include/sifive_vector.h +76 -2
- package/lib/clang/23/include/sm4evexintrin.h +32 -0
- package/lib/clang/{19 → 23}/include/smmintrin.h +80 -56
- package/lib/clang/23/include/spirvintrin.h +167 -0
- package/lib/clang/{19 → 23}/include/stdalign.h +0 -5
- package/lib/clang/23/include/stdcountof.h +15 -0
- package/lib/clang/23/include/stddefer.h +19 -0
- package/lib/clang/{19 → 23}/include/stdint.h +23 -143
- package/lib/clang/{19 → 23}/include/tbmintrin.h +25 -37
- package/lib/clang/{19 → 23}/include/tmmintrin.h +125 -130
- package/lib/clang/{19 → 23}/include/vaesintrin.h +1 -2
- package/lib/clang/{19 → 23}/include/vecintrin.h +1783 -60
- package/lib/clang/{19 → 23}/include/wasm_simd128.h +184 -21
- package/lib/clang/{19 → 23}/include/x86gprintrin.h +0 -14
- package/lib/clang/{19 → 23}/include/x86intrin.h +0 -18
- package/lib/clang/{19 → 23}/include/xmmintrin.h +190 -221
- package/lib/clang/{19 → 23}/include/xopintrin.h +20 -10
- package/lib/clang/23/include/zos_wrappers/grp.h +19 -0
- package/lib/clang/23/include/zos_wrappers/locale.h +19 -0
- package/lib/clang/23/include/zos_wrappers/math.h +31 -0
- package/lib/clang/23/include/zos_wrappers/poll.h +19 -0
- package/lib/clang/23/include/zos_wrappers/stdlib.h +20 -0
- package/lib/clang/23/include/zos_wrappers/string.h +19 -0
- package/lib/clang/23/include/zos_wrappers/time.h +19 -0
- package/lib/clang/23/include/zos_wrappers/variant.h +19 -0
- package/package.json +6 -6
- package/lib/clang/19/include/__clang_cuda_complex_builtins.h +0 -285
- package/lib/clang/19/include/avx512cdintrin.h +0 -125
- package/lib/clang/19/include/avx512ifmaintrin.h +0 -70
- package/lib/clang/19/include/avx512ifmavlintrin.h +0 -111
- package/lib/clang/19/include/avx512vlcdintrin.h +0 -230
- package/lib/clang/19/include/cuda_wrappers/cmath +0 -90
- package/lib/clang/19/include/fma4intrin.h +0 -218
- package/lib/clang/19/include/hlsl/hlsl_basic_types.h +0 -74
- package/lib/clang/19/include/hlsl/hlsl_intrinsics.h +0 -1697
- package/lib/clang/19/include/hlsl.h +0 -15
- package/lib/clang/19/include/llvm_libc_wrappers/ctype.h +0 -102
- package/lib/clang/19/include/llvm_libc_wrappers/stdio.h +0 -80
- package/lib/clang/19/include/llvm_libc_wrappers/string.h +0 -96
- /package/lib/clang/{19 → 23}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{19 → 23}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{19 → 23}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{19 → 23}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stdarg___gnuc_va_list.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stdarg___va_copy.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stdarg_header_macro.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stdarg_va_copy.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stdarg_va_list.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_header_macro.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_null.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_nullptr_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_offsetof.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_ptrdiff_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_rsize_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_size_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_unreachable.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_wchar_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_wint_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{19 → 23}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{19 → 23}/include/ammintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/arm_bf16.h +0 -0
- /package/lib/clang/{19 → 23}/include/arm_cde.h +0 -0
- /package/lib/clang/{19 → 23}/include/arm_cmse.h +0 -0
- /package/lib/clang/{19 → 23}/include/arm_mve.h +0 -0
- /package/lib/clang/{19 → 23}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{19 → 23}/include/armintr.h +0 -0
- /package/lib/clang/{19 → 23}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/builtins.h +0 -0
- /package/lib/clang/{19 → 23}/include/cet.h +0 -0
- /package/lib/clang/{19 → 23}/include/cetintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/clwbintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/clzerointrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{19 → 23}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{19 → 23}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{19 → 23}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{19 → 23}/include/hresetintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/htmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ia32intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/inttypes.h +0 -0
- /package/lib/clang/{19 → 23}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/iso646.h +0 -0
- /package/lib/clang/{19 → 23}/include/lwpintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/mm3dnow.h +0 -0
- /package/lib/clang/{19 → 23}/include/mm_malloc.h +0 -0
- /package/lib/clang/{19 → 23}/include/movdirintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/msa.h +0 -0
- /package/lib/clang/{19 → 23}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/nmmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{19 → 23}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{19 → 23}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/pkuintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/nmmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/smmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/raointintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/rtmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/s390intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/serializeintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/sgxintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/sha512intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/sm3intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/sm4intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/stdarg.h +0 -0
- /package/lib/clang/{19 → 23}/include/stdatomic.h +0 -0
- /package/lib/clang/{19 → 23}/include/stdbool.h +0 -0
- /package/lib/clang/{19 → 23}/include/stdckdint.h +0 -0
- /package/lib/clang/{19 → 23}/include/stddef.h +0 -0
- /package/lib/clang/{19 → 23}/include/stdnoreturn.h +0 -0
- /package/lib/clang/{19 → 23}/include/tgmath.h +0 -0
- /package/lib/clang/{19 → 23}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/uintrintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/unwind.h +0 -0
- /package/lib/clang/{19 → 23}/include/usermsrintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/vadefs.h +0 -0
- /package/lib/clang/{19 → 23}/include/varargs.h +0 -0
- /package/lib/clang/{19 → 23}/include/velintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{19 → 23}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{19 → 23}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/wmmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/xtestintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/yvals_core.h +0 -0
- /package/lib/clang/{19 → 23}/include/zos_wrappers/builtins.h +0 -0
|
@@ -16,7 +16,6 @@
|
|
|
16
16
|
|
|
17
17
|
#include <mmintrin.h>
|
|
18
18
|
|
|
19
|
-
typedef int __v4si __attribute__((__vector_size__(16)));
|
|
20
19
|
typedef float __v4sf __attribute__((__vector_size__(16)));
|
|
21
20
|
typedef float __m128 __attribute__((__vector_size__(16), __aligned__(16)));
|
|
22
21
|
|
|
@@ -24,6 +23,8 @@ typedef float __m128_u __attribute__((__vector_size__(16), __aligned__(1)));
|
|
|
24
23
|
|
|
25
24
|
/* Unsigned types */
|
|
26
25
|
typedef unsigned int __v4su __attribute__((__vector_size__(16)));
|
|
26
|
+
typedef unsigned short __v8hu __attribute__((__vector_size__(16)));
|
|
27
|
+
typedef unsigned char __v16qu __attribute__((__vector_size__(16)));
|
|
27
28
|
|
|
28
29
|
/* This header should only be included in a hosted environment as it depends on
|
|
29
30
|
* a standard library to provide allocation routines. */
|
|
@@ -33,11 +34,31 @@ typedef unsigned int __v4su __attribute__((__vector_size__(16)));
|
|
|
33
34
|
|
|
34
35
|
/* Define the default attributes for the functions in this file. */
|
|
35
36
|
#define __DEFAULT_FN_ATTRS \
|
|
36
|
-
__attribute__((__always_inline__, __nodebug__, __target__("sse
|
|
37
|
+
__attribute__((__always_inline__, __nodebug__, __target__("sse"), \
|
|
37
38
|
__min_vector_width__(128)))
|
|
38
|
-
#define
|
|
39
|
-
__attribute__((__always_inline__, __nodebug__,
|
|
40
|
-
|
|
39
|
+
#define __DEFAULT_FN_ATTRS_SSE2 \
|
|
40
|
+
__attribute__((__always_inline__, __nodebug__, __target__("sse2"), \
|
|
41
|
+
__min_vector_width__(128)))
|
|
42
|
+
|
|
43
|
+
#if defined(__cplusplus) && (__cplusplus >= 201103L)
|
|
44
|
+
#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
|
|
45
|
+
#define __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR __DEFAULT_FN_ATTRS_SSE2 constexpr
|
|
46
|
+
#else
|
|
47
|
+
#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
|
|
48
|
+
#define __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR __DEFAULT_FN_ATTRS_SSE2
|
|
49
|
+
#endif
|
|
50
|
+
|
|
51
|
+
#define __trunc64(x) \
|
|
52
|
+
(__m64) __builtin_shufflevector((__v2di)(x), __extension__(__v2di){}, 0)
|
|
53
|
+
#define __zext128(x) \
|
|
54
|
+
(__m128i) __builtin_shufflevector((__v2si)(x), __extension__(__v2si){}, 0, \
|
|
55
|
+
1, 2, 3)
|
|
56
|
+
#define __anyext128(x) \
|
|
57
|
+
(__m128i) __builtin_shufflevector((__v2si)(x), __extension__(__v2si){}, 0, \
|
|
58
|
+
1, -1, -1)
|
|
59
|
+
#define __zeroupper64(x) \
|
|
60
|
+
(__m128i) __builtin_shufflevector((__v4si)(x), __extension__(__v4si){}, 0, \
|
|
61
|
+
1, 4, 5)
|
|
41
62
|
|
|
42
63
|
/// Adds the 32-bit float values in the low-order bits of the operands.
|
|
43
64
|
///
|
|
@@ -54,9 +75,8 @@ typedef unsigned int __v4su __attribute__((__vector_size__(16)));
|
|
|
54
75
|
/// \returns A 128-bit vector of [4 x float] whose lower 32 bits contain the sum
|
|
55
76
|
/// of the lower 32 bits of both operands. The upper 96 bits are copied from
|
|
56
77
|
/// the upper 96 bits of the first source operand.
|
|
57
|
-
static __inline__ __m128
|
|
58
|
-
_mm_add_ss(__m128 __a, __m128 __b)
|
|
59
|
-
{
|
|
78
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
79
|
+
_mm_add_ss(__m128 __a, __m128 __b) {
|
|
60
80
|
__a[0] += __b[0];
|
|
61
81
|
return __a;
|
|
62
82
|
}
|
|
@@ -74,9 +94,8 @@ _mm_add_ss(__m128 __a, __m128 __b)
|
|
|
74
94
|
/// A 128-bit vector of [4 x float] containing one of the source operands.
|
|
75
95
|
/// \returns A 128-bit vector of [4 x float] containing the sums of both
|
|
76
96
|
/// operands.
|
|
77
|
-
static __inline__ __m128
|
|
78
|
-
_mm_add_ps(__m128 __a, __m128 __b)
|
|
79
|
-
{
|
|
97
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
98
|
+
_mm_add_ps(__m128 __a, __m128 __b) {
|
|
80
99
|
return (__m128)((__v4sf)__a + (__v4sf)__b);
|
|
81
100
|
}
|
|
82
101
|
|
|
@@ -96,9 +115,8 @@ _mm_add_ps(__m128 __a, __m128 __b)
|
|
|
96
115
|
/// \returns A 128-bit vector of [4 x float] whose lower 32 bits contain the
|
|
97
116
|
/// difference of the lower 32 bits of both operands. The upper 96 bits are
|
|
98
117
|
/// copied from the upper 96 bits of the first source operand.
|
|
99
|
-
static __inline__ __m128
|
|
100
|
-
_mm_sub_ss(__m128 __a, __m128 __b)
|
|
101
|
-
{
|
|
118
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
119
|
+
_mm_sub_ss(__m128 __a, __m128 __b) {
|
|
102
120
|
__a[0] -= __b[0];
|
|
103
121
|
return __a;
|
|
104
122
|
}
|
|
@@ -117,9 +135,8 @@ _mm_sub_ss(__m128 __a, __m128 __b)
|
|
|
117
135
|
/// A 128-bit vector of [4 x float] containing the subtrahend.
|
|
118
136
|
/// \returns A 128-bit vector of [4 x float] containing the differences between
|
|
119
137
|
/// both operands.
|
|
120
|
-
static __inline__ __m128
|
|
121
|
-
_mm_sub_ps(__m128 __a, __m128 __b)
|
|
122
|
-
{
|
|
138
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
139
|
+
_mm_sub_ps(__m128 __a, __m128 __b) {
|
|
123
140
|
return (__m128)((__v4sf)__a - (__v4sf)__b);
|
|
124
141
|
}
|
|
125
142
|
|
|
@@ -139,9 +156,8 @@ _mm_sub_ps(__m128 __a, __m128 __b)
|
|
|
139
156
|
/// \returns A 128-bit vector of [4 x float] containing the product of the lower
|
|
140
157
|
/// 32 bits of both operands. The upper 96 bits are copied from the upper 96
|
|
141
158
|
/// bits of the first source operand.
|
|
142
|
-
static __inline__ __m128
|
|
143
|
-
_mm_mul_ss(__m128 __a, __m128 __b)
|
|
144
|
-
{
|
|
159
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
160
|
+
_mm_mul_ss(__m128 __a, __m128 __b) {
|
|
145
161
|
__a[0] *= __b[0];
|
|
146
162
|
return __a;
|
|
147
163
|
}
|
|
@@ -159,9 +175,8 @@ _mm_mul_ss(__m128 __a, __m128 __b)
|
|
|
159
175
|
/// A 128-bit vector of [4 x float] containing one of the source operands.
|
|
160
176
|
/// \returns A 128-bit vector of [4 x float] containing the products of both
|
|
161
177
|
/// operands.
|
|
162
|
-
static __inline__ __m128
|
|
163
|
-
_mm_mul_ps(__m128 __a, __m128 __b)
|
|
164
|
-
{
|
|
178
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
179
|
+
_mm_mul_ps(__m128 __a, __m128 __b) {
|
|
165
180
|
return (__m128)((__v4sf)__a * (__v4sf)__b);
|
|
166
181
|
}
|
|
167
182
|
|
|
@@ -181,9 +196,8 @@ _mm_mul_ps(__m128 __a, __m128 __b)
|
|
|
181
196
|
/// \returns A 128-bit vector of [4 x float] containing the quotients of the
|
|
182
197
|
/// lower 32 bits of both operands. The upper 96 bits are copied from the
|
|
183
198
|
/// upper 96 bits of the first source operand.
|
|
184
|
-
static __inline__ __m128
|
|
185
|
-
_mm_div_ss(__m128 __a, __m128 __b)
|
|
186
|
-
{
|
|
199
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
200
|
+
_mm_div_ss(__m128 __a, __m128 __b) {
|
|
187
201
|
__a[0] /= __b[0];
|
|
188
202
|
return __a;
|
|
189
203
|
}
|
|
@@ -200,9 +214,8 @@ _mm_div_ss(__m128 __a, __m128 __b)
|
|
|
200
214
|
/// A 128-bit vector of [4 x float] containing the divisor.
|
|
201
215
|
/// \returns A 128-bit vector of [4 x float] containing the quotients of both
|
|
202
216
|
/// operands.
|
|
203
|
-
static __inline__ __m128
|
|
204
|
-
_mm_div_ps(__m128 __a, __m128 __b)
|
|
205
|
-
{
|
|
217
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
218
|
+
_mm_div_ps(__m128 __a, __m128 __b) {
|
|
206
219
|
return (__m128)((__v4sf)__a / (__v4sf)__b);
|
|
207
220
|
}
|
|
208
221
|
|
|
@@ -218,10 +231,9 @@ _mm_div_ps(__m128 __a, __m128 __b)
|
|
|
218
231
|
/// used in the calculation.
|
|
219
232
|
/// \returns A 128-bit vector of [4 x float] containing the square root of the
|
|
220
233
|
/// value in the low-order bits of the operand.
|
|
221
|
-
static __inline__ __m128 __DEFAULT_FN_ATTRS
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
return (__m128)__builtin_ia32_sqrtss((__v4sf)__a);
|
|
234
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_sqrt_ss(__m128 __a) {
|
|
235
|
+
__a[0] = __builtin_elementwise_sqrt(__a[0]);
|
|
236
|
+
return __a;
|
|
225
237
|
}
|
|
226
238
|
|
|
227
239
|
/// Calculates the square roots of the values stored in a 128-bit vector
|
|
@@ -235,10 +247,8 @@ _mm_sqrt_ss(__m128 __a)
|
|
|
235
247
|
/// A 128-bit vector of [4 x float].
|
|
236
248
|
/// \returns A 128-bit vector of [4 x float] containing the square roots of the
|
|
237
249
|
/// values in the operand.
|
|
238
|
-
static __inline__ __m128 __DEFAULT_FN_ATTRS
|
|
239
|
-
|
|
240
|
-
{
|
|
241
|
-
return __builtin_ia32_sqrtps((__v4sf)__a);
|
|
250
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_sqrt_ps(__m128 __a) {
|
|
251
|
+
return __builtin_elementwise_sqrt(__a);
|
|
242
252
|
}
|
|
243
253
|
|
|
244
254
|
/// Calculates the approximate reciprocal of the value stored in the
|
|
@@ -331,9 +341,8 @@ _mm_rsqrt_ps(__m128 __a)
|
|
|
331
341
|
/// \returns A 128-bit vector of [4 x float] whose lower 32 bits contain the
|
|
332
342
|
/// minimum value between both operands. The upper 96 bits are copied from
|
|
333
343
|
/// the upper 96 bits of the first source operand.
|
|
334
|
-
static __inline__ __m128
|
|
335
|
-
|
|
336
|
-
{
|
|
344
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_min_ss(__m128 __a,
|
|
345
|
+
__m128 __b) {
|
|
337
346
|
return __builtin_ia32_minss((__v4sf)__a, (__v4sf)__b);
|
|
338
347
|
}
|
|
339
348
|
|
|
@@ -352,9 +361,8 @@ _mm_min_ss(__m128 __a, __m128 __b)
|
|
|
352
361
|
/// A 128-bit vector of [4 x float] containing one of the operands.
|
|
353
362
|
/// \returns A 128-bit vector of [4 x float] containing the minimum values
|
|
354
363
|
/// between both operands.
|
|
355
|
-
static __inline__ __m128
|
|
356
|
-
|
|
357
|
-
{
|
|
364
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_min_ps(__m128 __a,
|
|
365
|
+
__m128 __b) {
|
|
358
366
|
return __builtin_ia32_minps((__v4sf)__a, (__v4sf)__b);
|
|
359
367
|
}
|
|
360
368
|
|
|
@@ -377,9 +385,8 @@ _mm_min_ps(__m128 __a, __m128 __b)
|
|
|
377
385
|
/// \returns A 128-bit vector of [4 x float] whose lower 32 bits contain the
|
|
378
386
|
/// maximum value between both operands. The upper 96 bits are copied from
|
|
379
387
|
/// the upper 96 bits of the first source operand.
|
|
380
|
-
static __inline__ __m128
|
|
381
|
-
|
|
382
|
-
{
|
|
388
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_max_ss(__m128 __a,
|
|
389
|
+
__m128 __b) {
|
|
383
390
|
return __builtin_ia32_maxss((__v4sf)__a, (__v4sf)__b);
|
|
384
391
|
}
|
|
385
392
|
|
|
@@ -398,9 +405,8 @@ _mm_max_ss(__m128 __a, __m128 __b)
|
|
|
398
405
|
/// A 128-bit vector of [4 x float] containing one of the operands.
|
|
399
406
|
/// \returns A 128-bit vector of [4 x float] containing the maximum values
|
|
400
407
|
/// between both operands.
|
|
401
|
-
static __inline__ __m128
|
|
402
|
-
|
|
403
|
-
{
|
|
408
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_max_ps(__m128 __a,
|
|
409
|
+
__m128 __b) {
|
|
404
410
|
return __builtin_ia32_maxps((__v4sf)__a, (__v4sf)__b);
|
|
405
411
|
}
|
|
406
412
|
|
|
@@ -416,9 +422,8 @@ _mm_max_ps(__m128 __a, __m128 __b)
|
|
|
416
422
|
/// A 128-bit vector containing one of the source operands.
|
|
417
423
|
/// \returns A 128-bit vector of [4 x float] containing the bitwise AND of the
|
|
418
424
|
/// values between both operands.
|
|
419
|
-
static __inline__ __m128
|
|
420
|
-
_mm_and_ps(__m128 __a, __m128 __b)
|
|
421
|
-
{
|
|
425
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
426
|
+
_mm_and_ps(__m128 __a, __m128 __b) {
|
|
422
427
|
return (__m128)((__v4su)__a & (__v4su)__b);
|
|
423
428
|
}
|
|
424
429
|
|
|
@@ -438,9 +443,8 @@ _mm_and_ps(__m128 __a, __m128 __b)
|
|
|
438
443
|
/// \returns A 128-bit vector of [4 x float] containing the bitwise AND of the
|
|
439
444
|
/// one's complement of the first operand and the values in the second
|
|
440
445
|
/// operand.
|
|
441
|
-
static __inline__ __m128
|
|
442
|
-
_mm_andnot_ps(__m128 __a, __m128 __b)
|
|
443
|
-
{
|
|
446
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
447
|
+
_mm_andnot_ps(__m128 __a, __m128 __b) {
|
|
444
448
|
return (__m128)(~(__v4su)__a & (__v4su)__b);
|
|
445
449
|
}
|
|
446
450
|
|
|
@@ -456,9 +460,8 @@ _mm_andnot_ps(__m128 __a, __m128 __b)
|
|
|
456
460
|
/// A 128-bit vector of [4 x float] containing one of the source operands.
|
|
457
461
|
/// \returns A 128-bit vector of [4 x float] containing the bitwise OR of the
|
|
458
462
|
/// values between both operands.
|
|
459
|
-
static __inline__ __m128
|
|
460
|
-
_mm_or_ps(__m128 __a, __m128 __b)
|
|
461
|
-
{
|
|
463
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
464
|
+
_mm_or_ps(__m128 __a, __m128 __b) {
|
|
462
465
|
return (__m128)((__v4su)__a | (__v4su)__b);
|
|
463
466
|
}
|
|
464
467
|
|
|
@@ -475,9 +478,8 @@ _mm_or_ps(__m128 __a, __m128 __b)
|
|
|
475
478
|
/// A 128-bit vector of [4 x float] containing one of the source operands.
|
|
476
479
|
/// \returns A 128-bit vector of [4 x float] containing the bitwise exclusive OR
|
|
477
480
|
/// of the values between both operands.
|
|
478
|
-
static __inline__ __m128
|
|
479
|
-
_mm_xor_ps(__m128 __a, __m128 __b)
|
|
480
|
-
{
|
|
481
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
482
|
+
_mm_xor_ps(__m128 __a, __m128 __b) {
|
|
481
483
|
return (__m128)((__v4su)__a ^ (__v4su)__b);
|
|
482
484
|
}
|
|
483
485
|
|
|
@@ -1448,10 +1450,10 @@ _mm_cvtss_si64(__m128 __a)
|
|
|
1448
1450
|
/// \param __a
|
|
1449
1451
|
/// A 128-bit vector of [4 x float].
|
|
1450
1452
|
/// \returns A 64-bit integer vector containing the converted values.
|
|
1451
|
-
static __inline__ __m64
|
|
1453
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
1452
1454
|
_mm_cvtps_pi32(__m128 __a)
|
|
1453
1455
|
{
|
|
1454
|
-
return (
|
|
1456
|
+
return __trunc64(__builtin_ia32_cvtps2dq((__v4sf)__zeroupper64(__a)));
|
|
1455
1457
|
}
|
|
1456
1458
|
|
|
1457
1459
|
/// Converts two low-order float values in a 128-bit vector of
|
|
@@ -1468,7 +1470,7 @@ _mm_cvtps_pi32(__m128 __a)
|
|
|
1468
1470
|
/// \param __a
|
|
1469
1471
|
/// A 128-bit vector of [4 x float].
|
|
1470
1472
|
/// \returns A 64-bit integer vector containing the converted values.
|
|
1471
|
-
static __inline__ __m64
|
|
1473
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
1472
1474
|
_mm_cvt_ps2pi(__m128 __a)
|
|
1473
1475
|
{
|
|
1474
1476
|
return _mm_cvtps_pi32(__a);
|
|
@@ -1558,10 +1560,10 @@ _mm_cvttss_si64(__m128 __a)
|
|
|
1558
1560
|
/// \param __a
|
|
1559
1561
|
/// A 128-bit vector of [4 x float].
|
|
1560
1562
|
/// \returns A 64-bit integer vector containing the converted values.
|
|
1561
|
-
static __inline__ __m64
|
|
1563
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
1562
1564
|
_mm_cvttps_pi32(__m128 __a)
|
|
1563
1565
|
{
|
|
1564
|
-
return (
|
|
1566
|
+
return __trunc64(__builtin_ia32_cvttps2dq((__v4sf)__zeroupper64(__a)));
|
|
1565
1567
|
}
|
|
1566
1568
|
|
|
1567
1569
|
/// Converts the lower (first) two elements of a 128-bit vector of [4 x float]
|
|
@@ -1579,7 +1581,7 @@ _mm_cvttps_pi32(__m128 __a)
|
|
|
1579
1581
|
/// \param __a
|
|
1580
1582
|
/// A 128-bit vector of [4 x float].
|
|
1581
1583
|
/// \returns A 64-bit integer vector containing the converted values.
|
|
1582
|
-
static __inline__ __m64
|
|
1584
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
1583
1585
|
_mm_cvtt_ps2pi(__m128 __a)
|
|
1584
1586
|
{
|
|
1585
1587
|
return _mm_cvttps_pi32(__a);
|
|
@@ -1601,9 +1603,8 @@ _mm_cvtt_ps2pi(__m128 __a)
|
|
|
1601
1603
|
/// \returns A 128-bit vector of [4 x float] whose lower 32 bits contain the
|
|
1602
1604
|
/// converted value of the second operand. The upper 96 bits are copied from
|
|
1603
1605
|
/// the upper 96 bits of the first operand.
|
|
1604
|
-
static __inline__ __m128
|
|
1605
|
-
|
|
1606
|
-
{
|
|
1606
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_cvtsi32_ss(__m128 __a,
|
|
1607
|
+
int __b) {
|
|
1607
1608
|
__a[0] = __b;
|
|
1608
1609
|
return __a;
|
|
1609
1610
|
}
|
|
@@ -1624,9 +1625,8 @@ _mm_cvtsi32_ss(__m128 __a, int __b)
|
|
|
1624
1625
|
/// \returns A 128-bit vector of [4 x float] whose lower 32 bits contain the
|
|
1625
1626
|
/// converted value of the second operand. The upper 96 bits are copied from
|
|
1626
1627
|
/// the upper 96 bits of the first operand.
|
|
1627
|
-
static __inline__ __m128
|
|
1628
|
-
|
|
1629
|
-
{
|
|
1628
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_cvt_si2ss(__m128 __a,
|
|
1629
|
+
int __b) {
|
|
1630
1630
|
return _mm_cvtsi32_ss(__a, __b);
|
|
1631
1631
|
}
|
|
1632
1632
|
|
|
@@ -1648,9 +1648,8 @@ _mm_cvt_si2ss(__m128 __a, int __b)
|
|
|
1648
1648
|
/// \returns A 128-bit vector of [4 x float] whose lower 32 bits contain the
|
|
1649
1649
|
/// converted value of the second operand. The upper 96 bits are copied from
|
|
1650
1650
|
/// the upper 96 bits of the first operand.
|
|
1651
|
-
static __inline__ __m128
|
|
1652
|
-
_mm_cvtsi64_ss(__m128 __a, long long __b)
|
|
1653
|
-
{
|
|
1651
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1652
|
+
_mm_cvtsi64_ss(__m128 __a, long long __b) {
|
|
1654
1653
|
__a[0] = __b;
|
|
1655
1654
|
return __a;
|
|
1656
1655
|
}
|
|
@@ -1674,10 +1673,13 @@ _mm_cvtsi64_ss(__m128 __a, long long __b)
|
|
|
1674
1673
|
/// \returns A 128-bit vector of [4 x float] whose lower 64 bits contain the
|
|
1675
1674
|
/// converted value of the second operand. The upper 64 bits are copied from
|
|
1676
1675
|
/// the upper 64 bits of the first operand.
|
|
1677
|
-
static __inline__ __m128
|
|
1676
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
1678
1677
|
_mm_cvtpi32_ps(__m128 __a, __m64 __b)
|
|
1679
1678
|
{
|
|
1680
|
-
return
|
|
1679
|
+
return (__m128)__builtin_shufflevector(
|
|
1680
|
+
(__v4sf)__a,
|
|
1681
|
+
__builtin_convertvector((__v4si)__zext128(__b), __v4sf),
|
|
1682
|
+
4, 5, 2, 3);
|
|
1681
1683
|
}
|
|
1682
1684
|
|
|
1683
1685
|
/// Converts two elements of a 64-bit vector of [2 x i32] into two
|
|
@@ -1697,7 +1699,7 @@ _mm_cvtpi32_ps(__m128 __a, __m64 __b)
|
|
|
1697
1699
|
/// \returns A 128-bit vector of [4 x float] whose lower 64 bits contain the
|
|
1698
1700
|
/// converted value from the second operand. The upper 64 bits are copied
|
|
1699
1701
|
/// from the upper 64 bits of the first operand.
|
|
1700
|
-
static __inline__ __m128
|
|
1702
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
1701
1703
|
_mm_cvt_pi2ps(__m128 __a, __m64 __b)
|
|
1702
1704
|
{
|
|
1703
1705
|
return _mm_cvtpi32_ps(__a, __b);
|
|
@@ -1714,9 +1716,8 @@ _mm_cvt_pi2ps(__m128 __a, __m64 __b)
|
|
|
1714
1716
|
/// A 128-bit vector of [4 x float]. The lower 32 bits of this operand are
|
|
1715
1717
|
/// used in the extraction.
|
|
1716
1718
|
/// \returns A 32-bit float containing the extracted value.
|
|
1717
|
-
static __inline__ float
|
|
1718
|
-
_mm_cvtss_f32(__m128 __a)
|
|
1719
|
-
{
|
|
1719
|
+
static __inline__ float __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1720
|
+
_mm_cvtss_f32(__m128 __a) {
|
|
1720
1721
|
return __a[0];
|
|
1721
1722
|
}
|
|
1722
1723
|
|
|
@@ -1907,9 +1908,8 @@ _mm_undefined_ps(void)
|
|
|
1907
1908
|
/// \returns An initialized 128-bit floating-point vector of [4 x float]. The
|
|
1908
1909
|
/// lower 32 bits contain the value provided in the source operand. The
|
|
1909
1910
|
/// upper 96 bits are set to zero.
|
|
1910
|
-
static __inline__ __m128
|
|
1911
|
-
_mm_set_ss(float __w)
|
|
1912
|
-
{
|
|
1911
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1912
|
+
_mm_set_ss(float __w) {
|
|
1913
1913
|
return __extension__ (__m128){ __w, 0.0f, 0.0f, 0.0f };
|
|
1914
1914
|
}
|
|
1915
1915
|
|
|
@@ -1925,9 +1925,8 @@ _mm_set_ss(float __w)
|
|
|
1925
1925
|
/// A single-precision floating-point value used to initialize each vector
|
|
1926
1926
|
/// element of the result.
|
|
1927
1927
|
/// \returns An initialized 128-bit floating-point vector of [4 x float].
|
|
1928
|
-
static __inline__ __m128
|
|
1929
|
-
_mm_set1_ps(float __w)
|
|
1930
|
-
{
|
|
1928
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1929
|
+
_mm_set1_ps(float __w) {
|
|
1931
1930
|
return __extension__ (__m128){ __w, __w, __w, __w };
|
|
1932
1931
|
}
|
|
1933
1932
|
|
|
@@ -1944,9 +1943,8 @@ _mm_set1_ps(float __w)
|
|
|
1944
1943
|
/// A single-precision floating-point value used to initialize each vector
|
|
1945
1944
|
/// element of the result.
|
|
1946
1945
|
/// \returns An initialized 128-bit floating-point vector of [4 x float].
|
|
1947
|
-
static __inline__ __m128
|
|
1948
|
-
_mm_set_ps1(float __w)
|
|
1949
|
-
{
|
|
1946
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1947
|
+
_mm_set_ps1(float __w) {
|
|
1950
1948
|
return _mm_set1_ps(__w);
|
|
1951
1949
|
}
|
|
1952
1950
|
|
|
@@ -1971,9 +1969,8 @@ _mm_set_ps1(float __w)
|
|
|
1971
1969
|
/// A single-precision floating-point value used to initialize bits [31:0]
|
|
1972
1970
|
/// of the result.
|
|
1973
1971
|
/// \returns An initialized 128-bit floating-point vector of [4 x float].
|
|
1974
|
-
static __inline__ __m128
|
|
1975
|
-
_mm_set_ps(float __z, float __y, float __x, float __w)
|
|
1976
|
-
{
|
|
1972
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1973
|
+
_mm_set_ps(float __z, float __y, float __x, float __w) {
|
|
1977
1974
|
return __extension__ (__m128){ __w, __x, __y, __z };
|
|
1978
1975
|
}
|
|
1979
1976
|
|
|
@@ -1999,9 +1996,8 @@ _mm_set_ps(float __z, float __y, float __x, float __w)
|
|
|
1999
1996
|
/// A single-precision floating-point value used to initialize bits [127:96]
|
|
2000
1997
|
/// of the result.
|
|
2001
1998
|
/// \returns An initialized 128-bit floating-point vector of [4 x float].
|
|
2002
|
-
static __inline__ __m128
|
|
2003
|
-
_mm_setr_ps(float __z, float __y, float __x, float __w)
|
|
2004
|
-
{
|
|
1999
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
2000
|
+
_mm_setr_ps(float __z, float __y, float __x, float __w) {
|
|
2005
2001
|
return __extension__ (__m128){ __z, __y, __x, __w };
|
|
2006
2002
|
}
|
|
2007
2003
|
|
|
@@ -2014,9 +2010,8 @@ _mm_setr_ps(float __z, float __y, float __x, float __w)
|
|
|
2014
2010
|
///
|
|
2015
2011
|
/// \returns An initialized 128-bit floating-point vector of [4 x float] with
|
|
2016
2012
|
/// all elements set to zero.
|
|
2017
|
-
static __inline__ __m128
|
|
2018
|
-
_mm_setzero_ps(void)
|
|
2019
|
-
{
|
|
2013
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
2014
|
+
_mm_setzero_ps(void) {
|
|
2020
2015
|
return __extension__ (__m128){ 0.0f, 0.0f, 0.0f, 0.0f };
|
|
2021
2016
|
}
|
|
2022
2017
|
|
|
@@ -2188,8 +2183,9 @@ _mm_storer_ps(float *__p, __m128 __a)
|
|
|
2188
2183
|
#define _MM_HINT_NTA 0
|
|
2189
2184
|
|
|
2190
2185
|
#ifndef _MSC_VER
|
|
2191
|
-
|
|
2192
|
-
|
|
2186
|
+
// If _MSC_VER is defined, we use the builtin variant of _mm_prefetch.
|
|
2187
|
+
// Otherwise, we provide this macro, which includes a cast, allowing the user
|
|
2188
|
+
// to pass a pointer of any time. The _mm_prefetch accepts char to match MSVC.
|
|
2193
2189
|
|
|
2194
2190
|
/// Loads one cache line of data from the specified address to a location
|
|
2195
2191
|
/// closer to the processor.
|
|
@@ -2231,10 +2227,10 @@ _mm_storer_ps(float *__p, __m128 __a)
|
|
|
2231
2227
|
/// A pointer to an aligned memory location used to store the register value.
|
|
2232
2228
|
/// \param __a
|
|
2233
2229
|
/// A 64-bit integer containing the value to be stored.
|
|
2234
|
-
static __inline__ void
|
|
2230
|
+
static __inline__ void __DEFAULT_FN_ATTRS
|
|
2235
2231
|
_mm_stream_pi(void *__p, __m64 __a)
|
|
2236
2232
|
{
|
|
2237
|
-
|
|
2233
|
+
__builtin_nontemporal_store(__a, (__m64 *)__p);
|
|
2238
2234
|
}
|
|
2239
2235
|
|
|
2240
2236
|
/// Moves packed float values from a 128-bit vector of [4 x float] to a
|
|
@@ -2296,7 +2292,7 @@ void _mm_sfence(void);
|
|
|
2296
2292
|
/// 3: Bits [63:48] are copied to the destination.
|
|
2297
2293
|
/// \returns A 16-bit integer containing the extracted 16 bits of packed data.
|
|
2298
2294
|
#define _mm_extract_pi16(a, n) \
|
|
2299
|
-
((int)__builtin_ia32_vec_ext_v4hi((__v4hi)a, (int)n))
|
|
2295
|
+
((int)(unsigned short)__builtin_ia32_vec_ext_v4hi((__v4hi)a, (int)n))
|
|
2300
2296
|
|
|
2301
2297
|
/// Copies data from the 64-bit vector of [4 x i16] to the destination,
|
|
2302
2298
|
/// and inserts the lower 16-bits of an integer operand at the 16-bit offset
|
|
@@ -2342,10 +2338,9 @@ void _mm_sfence(void);
|
|
|
2342
2338
|
/// \param __b
|
|
2343
2339
|
/// A 64-bit integer vector containing one of the source operands.
|
|
2344
2340
|
/// \returns A 64-bit integer vector containing the comparison results.
|
|
2345
|
-
static __inline__ __m64
|
|
2346
|
-
_mm_max_pi16(__m64 __a, __m64 __b)
|
|
2347
|
-
|
|
2348
|
-
return (__m64)__builtin_ia32_pmaxsw((__v4hi)__a, (__v4hi)__b);
|
|
2341
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
2342
|
+
_mm_max_pi16(__m64 __a, __m64 __b) {
|
|
2343
|
+
return (__m64)__builtin_elementwise_max((__v4hi)__a, (__v4hi)__b);
|
|
2349
2344
|
}
|
|
2350
2345
|
|
|
2351
2346
|
/// Compares each of the corresponding packed 8-bit unsigned integer
|
|
@@ -2361,10 +2356,9 @@ _mm_max_pi16(__m64 __a, __m64 __b)
|
|
|
2361
2356
|
/// \param __b
|
|
2362
2357
|
/// A 64-bit integer vector containing one of the source operands.
|
|
2363
2358
|
/// \returns A 64-bit integer vector containing the comparison results.
|
|
2364
|
-
static __inline__ __m64
|
|
2365
|
-
_mm_max_pu8(__m64 __a, __m64 __b)
|
|
2366
|
-
|
|
2367
|
-
return (__m64)__builtin_ia32_pmaxub((__v8qi)__a, (__v8qi)__b);
|
|
2359
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
2360
|
+
_mm_max_pu8(__m64 __a, __m64 __b) {
|
|
2361
|
+
return (__m64)__builtin_elementwise_max((__v8qu)__a, (__v8qu)__b);
|
|
2368
2362
|
}
|
|
2369
2363
|
|
|
2370
2364
|
/// Compares each of the corresponding packed 16-bit integer values of
|
|
@@ -2380,10 +2374,9 @@ _mm_max_pu8(__m64 __a, __m64 __b)
|
|
|
2380
2374
|
/// \param __b
|
|
2381
2375
|
/// A 64-bit integer vector containing one of the source operands.
|
|
2382
2376
|
/// \returns A 64-bit integer vector containing the comparison results.
|
|
2383
|
-
static __inline__ __m64
|
|
2384
|
-
_mm_min_pi16(__m64 __a, __m64 __b)
|
|
2385
|
-
|
|
2386
|
-
return (__m64)__builtin_ia32_pminsw((__v4hi)__a, (__v4hi)__b);
|
|
2377
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
2378
|
+
_mm_min_pi16(__m64 __a, __m64 __b) {
|
|
2379
|
+
return (__m64)__builtin_elementwise_min((__v4hi)__a, (__v4hi)__b);
|
|
2387
2380
|
}
|
|
2388
2381
|
|
|
2389
2382
|
/// Compares each of the corresponding packed 8-bit unsigned integer
|
|
@@ -2399,10 +2392,9 @@ _mm_min_pi16(__m64 __a, __m64 __b)
|
|
|
2399
2392
|
/// \param __b
|
|
2400
2393
|
/// A 64-bit integer vector containing one of the source operands.
|
|
2401
2394
|
/// \returns A 64-bit integer vector containing the comparison results.
|
|
2402
|
-
static __inline__ __m64
|
|
2403
|
-
_mm_min_pu8(__m64 __a, __m64 __b)
|
|
2404
|
-
|
|
2405
|
-
return (__m64)__builtin_ia32_pminub((__v8qi)__a, (__v8qi)__b);
|
|
2395
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
2396
|
+
_mm_min_pu8(__m64 __a, __m64 __b) {
|
|
2397
|
+
return (__m64)__builtin_elementwise_min((__v8qu)__a, (__v8qu)__b);
|
|
2406
2398
|
}
|
|
2407
2399
|
|
|
2408
2400
|
/// Takes the most significant bit from each 8-bit element in a 64-bit
|
|
@@ -2417,10 +2409,9 @@ _mm_min_pu8(__m64 __a, __m64 __b)
|
|
|
2417
2409
|
/// A 64-bit integer vector containing the values with bits to be extracted.
|
|
2418
2410
|
/// \returns The most significant bit from each 8-bit element in \a __a,
|
|
2419
2411
|
/// written to bits [7:0].
|
|
2420
|
-
static __inline__ int
|
|
2421
|
-
_mm_movemask_pi8(__m64 __a)
|
|
2422
|
-
|
|
2423
|
-
return __builtin_ia32_pmovmskb((__v8qi)__a);
|
|
2412
|
+
static __inline__ int __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
2413
|
+
_mm_movemask_pi8(__m64 __a) {
|
|
2414
|
+
return __builtin_ia32_pmovmskb128((__v16qi)__zext128(__a));
|
|
2424
2415
|
}
|
|
2425
2416
|
|
|
2426
2417
|
/// Multiplies packed 16-bit unsigned integer values and writes the
|
|
@@ -2436,10 +2427,11 @@ _mm_movemask_pi8(__m64 __a)
|
|
|
2436
2427
|
/// \param __b
|
|
2437
2428
|
/// A 64-bit integer vector containing one of the source operands.
|
|
2438
2429
|
/// \returns A 64-bit integer vector containing the products of both operands.
|
|
2439
|
-
static __inline__ __m64
|
|
2430
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
2440
2431
|
_mm_mulhi_pu16(__m64 __a, __m64 __b)
|
|
2441
2432
|
{
|
|
2442
|
-
return (
|
|
2433
|
+
return __trunc64(__builtin_ia32_pmulhuw128((__v8hu)__zext128(__a),
|
|
2434
|
+
(__v8hu)__zext128(__b)));
|
|
2443
2435
|
}
|
|
2444
2436
|
|
|
2445
2437
|
/// Shuffles the 4 16-bit integers from a 64-bit integer vector to the
|
|
@@ -2476,8 +2468,10 @@ _mm_mulhi_pu16(__m64 __a, __m64 __b)
|
|
|
2476
2468
|
/// <c>_MM_SHUFFLE(b6, b4, b2, b0)</c> can create an 8-bit mask of the form
|
|
2477
2469
|
/// <c>[b6, b4, b2, b0]</c>.
|
|
2478
2470
|
/// \returns A 64-bit integer vector containing the shuffled values.
|
|
2479
|
-
#define _mm_shuffle_pi16(a, n)
|
|
2480
|
-
((__m64)
|
|
2471
|
+
#define _mm_shuffle_pi16(a, n) \
|
|
2472
|
+
((__m64)__builtin_shufflevector((__v4hi)(__m64)(a), __extension__(__v4hi){}, \
|
|
2473
|
+
(n) & 0x3, ((n) >> 2) & 0x3, \
|
|
2474
|
+
((n) >> 4) & 0x3, ((n) >> 6) & 0x3))
|
|
2481
2475
|
|
|
2482
2476
|
/// Conditionally copies the values from each 8-bit element in the first
|
|
2483
2477
|
/// 64-bit integer vector operand to the specified memory location, as
|
|
@@ -2502,10 +2496,25 @@ _mm_mulhi_pu16(__m64 __a, __m64 __b)
|
|
|
2502
2496
|
/// A pointer to a 64-bit memory location that will receive the conditionally
|
|
2503
2497
|
/// copied integer values. The address of the memory location does not have
|
|
2504
2498
|
/// to be aligned.
|
|
2505
|
-
static __inline__ void
|
|
2499
|
+
static __inline__ void __DEFAULT_FN_ATTRS_SSE2
|
|
2506
2500
|
_mm_maskmove_si64(__m64 __d, __m64 __n, char *__p)
|
|
2507
2501
|
{
|
|
2508
|
-
|
|
2502
|
+
// This is complex, because we need to support the case where __p is pointing
|
|
2503
|
+
// within the last 15 to 8 bytes of a page. In that case, using a 128-bit
|
|
2504
|
+
// write might cause a trap where a 64-bit maskmovq would not. (Memory
|
|
2505
|
+
// locations not selected by the mask bits might still cause traps.)
|
|
2506
|
+
__m128i __d128 = __anyext128(__d);
|
|
2507
|
+
__m128i __n128 = __zext128(__n);
|
|
2508
|
+
if (((__SIZE_TYPE__)__p & 0xfff) >= 4096-15 &&
|
|
2509
|
+
((__SIZE_TYPE__)__p & 0xfff) <= 4096-8) {
|
|
2510
|
+
// If there's a risk of spurious trap due to a 128-bit write, back up the
|
|
2511
|
+
// pointer by 8 bytes and shift values in registers to match.
|
|
2512
|
+
__p -= 8;
|
|
2513
|
+
__d128 = (__m128i)__builtin_ia32_pslldqi128_byteshift((__v16qi)__d128, 8);
|
|
2514
|
+
__n128 = (__m128i)__builtin_ia32_pslldqi128_byteshift((__v16qi)__n128, 8);
|
|
2515
|
+
}
|
|
2516
|
+
|
|
2517
|
+
__builtin_ia32_maskmovdqu((__v16qi)__d128, (__v16qi)__n128, __p);
|
|
2509
2518
|
}
|
|
2510
2519
|
|
|
2511
2520
|
/// Computes the rounded averages of the packed unsigned 8-bit integer
|
|
@@ -2521,10 +2530,10 @@ _mm_maskmove_si64(__m64 __d, __m64 __n, char *__p)
|
|
|
2521
2530
|
/// \param __b
|
|
2522
2531
|
/// A 64-bit integer vector containing one of the source operands.
|
|
2523
2532
|
/// \returns A 64-bit integer vector containing the averages of both operands.
|
|
2524
|
-
static __inline__ __m64
|
|
2525
|
-
_mm_avg_pu8(__m64 __a, __m64 __b)
|
|
2526
|
-
|
|
2527
|
-
|
|
2533
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
2534
|
+
_mm_avg_pu8(__m64 __a, __m64 __b) {
|
|
2535
|
+
return __trunc64(__builtin_ia32_pavgb128((__v16qu)__zext128(__a),
|
|
2536
|
+
(__v16qu)__zext128(__b)));
|
|
2528
2537
|
}
|
|
2529
2538
|
|
|
2530
2539
|
/// Computes the rounded averages of the packed unsigned 16-bit integer
|
|
@@ -2540,10 +2549,10 @@ _mm_avg_pu8(__m64 __a, __m64 __b)
|
|
|
2540
2549
|
/// \param __b
|
|
2541
2550
|
/// A 64-bit integer vector containing one of the source operands.
|
|
2542
2551
|
/// \returns A 64-bit integer vector containing the averages of both operands.
|
|
2543
|
-
static __inline__ __m64
|
|
2544
|
-
_mm_avg_pu16(__m64 __a, __m64 __b)
|
|
2545
|
-
|
|
2546
|
-
|
|
2552
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
2553
|
+
_mm_avg_pu16(__m64 __a, __m64 __b) {
|
|
2554
|
+
return __trunc64(
|
|
2555
|
+
__builtin_ia32_pavgw128((__v8hu)__zext128(__a), (__v8hu)__zext128(__b)));
|
|
2547
2556
|
}
|
|
2548
2557
|
|
|
2549
2558
|
/// Subtracts the corresponding 8-bit unsigned integer values of the two
|
|
@@ -2562,10 +2571,10 @@ _mm_avg_pu16(__m64 __a, __m64 __b)
|
|
|
2562
2571
|
/// \returns A 64-bit integer vector whose lower 16 bits contain the sums of the
|
|
2563
2572
|
/// sets of absolute differences between both operands. The upper bits are
|
|
2564
2573
|
/// cleared.
|
|
2565
|
-
static __inline__ __m64
|
|
2566
|
-
_mm_sad_pu8(__m64 __a, __m64 __b)
|
|
2567
|
-
|
|
2568
|
-
|
|
2574
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
2575
|
+
_mm_sad_pu8(__m64 __a, __m64 __b) {
|
|
2576
|
+
return __trunc64(__builtin_ia32_psadbw128((__v16qu)__zext128(__a),
|
|
2577
|
+
(__v16qu)__zext128(__b)));
|
|
2569
2578
|
}
|
|
2570
2579
|
|
|
2571
2580
|
#if defined(__cplusplus)
|
|
@@ -2741,9 +2750,8 @@ void _mm_setcsr(unsigned int __i);
|
|
|
2741
2750
|
/// Bits [95:64] are written to bits [63:32] of the destination. \n
|
|
2742
2751
|
/// Bits [127:96] are written to bits [127:96] of the destination.
|
|
2743
2752
|
/// \returns A 128-bit vector of [4 x float] containing the interleaved values.
|
|
2744
|
-
static __inline__ __m128
|
|
2745
|
-
_mm_unpackhi_ps(__m128 __a, __m128 __b)
|
|
2746
|
-
{
|
|
2753
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
2754
|
+
_mm_unpackhi_ps(__m128 __a, __m128 __b) {
|
|
2747
2755
|
return __builtin_shufflevector((__v4sf)__a, (__v4sf)__b, 2, 6, 3, 7);
|
|
2748
2756
|
}
|
|
2749
2757
|
|
|
@@ -2763,9 +2771,8 @@ _mm_unpackhi_ps(__m128 __a, __m128 __b)
|
|
|
2763
2771
|
/// Bits [31:0] are written to bits [63:32] of the destination. \n
|
|
2764
2772
|
/// Bits [63:32] are written to bits [127:96] of the destination.
|
|
2765
2773
|
/// \returns A 128-bit vector of [4 x float] containing the interleaved values.
|
|
2766
|
-
static __inline__ __m128
|
|
2767
|
-
_mm_unpacklo_ps(__m128 __a, __m128 __b)
|
|
2768
|
-
{
|
|
2774
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
2775
|
+
_mm_unpacklo_ps(__m128 __a, __m128 __b) {
|
|
2769
2776
|
return __builtin_shufflevector((__v4sf)__a, (__v4sf)__b, 0, 4, 1, 5);
|
|
2770
2777
|
}
|
|
2771
2778
|
|
|
@@ -2785,9 +2792,8 @@ _mm_unpacklo_ps(__m128 __a, __m128 __b)
|
|
|
2785
2792
|
/// A 128-bit floating-point vector of [4 x float]. The lower 32 bits are
|
|
2786
2793
|
/// written to the lower 32 bits of the result.
|
|
2787
2794
|
/// \returns A 128-bit floating-point vector of [4 x float].
|
|
2788
|
-
static __inline__ __m128
|
|
2789
|
-
_mm_move_ss(__m128 __a, __m128 __b)
|
|
2790
|
-
{
|
|
2795
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
2796
|
+
_mm_move_ss(__m128 __a, __m128 __b) {
|
|
2791
2797
|
__a[0] = __b[0];
|
|
2792
2798
|
return __a;
|
|
2793
2799
|
}
|
|
@@ -2807,9 +2813,8 @@ _mm_move_ss(__m128 __a, __m128 __b)
|
|
|
2807
2813
|
/// A 128-bit floating-point vector of [4 x float]. The upper 64 bits are
|
|
2808
2814
|
/// written to the lower 64 bits of the result.
|
|
2809
2815
|
/// \returns A 128-bit floating-point vector of [4 x float].
|
|
2810
|
-
static __inline__ __m128
|
|
2811
|
-
_mm_movehl_ps(__m128 __a, __m128 __b)
|
|
2812
|
-
{
|
|
2816
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
2817
|
+
_mm_movehl_ps(__m128 __a, __m128 __b) {
|
|
2813
2818
|
return __builtin_shufflevector((__v4sf)__a, (__v4sf)__b, 6, 7, 2, 3);
|
|
2814
2819
|
}
|
|
2815
2820
|
|
|
@@ -2828,9 +2833,8 @@ _mm_movehl_ps(__m128 __a, __m128 __b)
|
|
|
2828
2833
|
/// A 128-bit floating-point vector of [4 x float]. The lower 64 bits are
|
|
2829
2834
|
/// written to the upper 64 bits of the result.
|
|
2830
2835
|
/// \returns A 128-bit floating-point vector of [4 x float].
|
|
2831
|
-
static __inline__ __m128
|
|
2832
|
-
_mm_movelh_ps(__m128 __a, __m128 __b)
|
|
2833
|
-
{
|
|
2836
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
2837
|
+
_mm_movelh_ps(__m128 __a, __m128 __b) {
|
|
2834
2838
|
return __builtin_shufflevector((__v4sf)__a, (__v4sf)__b, 0, 1, 4, 5);
|
|
2835
2839
|
}
|
|
2836
2840
|
|
|
@@ -2846,22 +2850,10 @@ _mm_movelh_ps(__m128 __a, __m128 __b)
|
|
|
2846
2850
|
/// from the corresponding elements in this operand.
|
|
2847
2851
|
/// \returns A 128-bit vector of [4 x float] containing the copied and converted
|
|
2848
2852
|
/// values from the operand.
|
|
2849
|
-
static __inline__ __m128
|
|
2853
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
2850
2854
|
_mm_cvtpi16_ps(__m64 __a)
|
|
2851
2855
|
{
|
|
2852
|
-
|
|
2853
|
-
__m128 __r;
|
|
2854
|
-
|
|
2855
|
-
__b = _mm_setzero_si64();
|
|
2856
|
-
__b = _mm_cmpgt_pi16(__b, __a);
|
|
2857
|
-
__c = _mm_unpackhi_pi16(__a, __b);
|
|
2858
|
-
__r = _mm_setzero_ps();
|
|
2859
|
-
__r = _mm_cvtpi32_ps(__r, __c);
|
|
2860
|
-
__r = _mm_movelh_ps(__r, __r);
|
|
2861
|
-
__c = _mm_unpacklo_pi16(__a, __b);
|
|
2862
|
-
__r = _mm_cvtpi32_ps(__r, __c);
|
|
2863
|
-
|
|
2864
|
-
return __r;
|
|
2856
|
+
return __builtin_convertvector((__v4hi)__a, __v4sf);
|
|
2865
2857
|
}
|
|
2866
2858
|
|
|
2867
2859
|
/// Converts a 64-bit vector of 16-bit unsigned integer values into a
|
|
@@ -2876,21 +2868,10 @@ _mm_cvtpi16_ps(__m64 __a)
|
|
|
2876
2868
|
/// destination are copied from the corresponding elements in this operand.
|
|
2877
2869
|
/// \returns A 128-bit vector of [4 x float] containing the copied and converted
|
|
2878
2870
|
/// values from the operand.
|
|
2879
|
-
static __inline__ __m128
|
|
2871
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
2880
2872
|
_mm_cvtpu16_ps(__m64 __a)
|
|
2881
2873
|
{
|
|
2882
|
-
|
|
2883
|
-
__m128 __r;
|
|
2884
|
-
|
|
2885
|
-
__b = _mm_setzero_si64();
|
|
2886
|
-
__c = _mm_unpackhi_pi16(__a, __b);
|
|
2887
|
-
__r = _mm_setzero_ps();
|
|
2888
|
-
__r = _mm_cvtpi32_ps(__r, __c);
|
|
2889
|
-
__r = _mm_movelh_ps(__r, __r);
|
|
2890
|
-
__c = _mm_unpacklo_pi16(__a, __b);
|
|
2891
|
-
__r = _mm_cvtpi32_ps(__r, __c);
|
|
2892
|
-
|
|
2893
|
-
return __r;
|
|
2874
|
+
return __builtin_convertvector((__v4hu)__a, __v4sf);
|
|
2894
2875
|
}
|
|
2895
2876
|
|
|
2896
2877
|
/// Converts the lower four 8-bit values from a 64-bit vector of [8 x i8]
|
|
@@ -2905,16 +2886,12 @@ _mm_cvtpu16_ps(__m64 __a)
|
|
|
2905
2886
|
/// from the corresponding lower 4 elements in this operand.
|
|
2906
2887
|
/// \returns A 128-bit vector of [4 x float] containing the copied and converted
|
|
2907
2888
|
/// values from the operand.
|
|
2908
|
-
static __inline__ __m128
|
|
2889
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
2909
2890
|
_mm_cvtpi8_ps(__m64 __a)
|
|
2910
2891
|
{
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
__b = _mm_cmpgt_pi8(__b, __a);
|
|
2915
|
-
__b = _mm_unpacklo_pi8(__a, __b);
|
|
2916
|
-
|
|
2917
|
-
return _mm_cvtpi16_ps(__b);
|
|
2892
|
+
return __builtin_convertvector(
|
|
2893
|
+
__builtin_shufflevector((__v8qs)__a, __extension__ (__v8qs){},
|
|
2894
|
+
0, 1, 2, 3), __v4sf);
|
|
2918
2895
|
}
|
|
2919
2896
|
|
|
2920
2897
|
/// Converts the lower four unsigned 8-bit integer values from a 64-bit
|
|
@@ -2930,15 +2907,12 @@ _mm_cvtpi8_ps(__m64 __a)
|
|
|
2930
2907
|
/// operand.
|
|
2931
2908
|
/// \returns A 128-bit vector of [4 x float] containing the copied and converted
|
|
2932
2909
|
/// values from the source operand.
|
|
2933
|
-
static __inline__ __m128
|
|
2910
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
2934
2911
|
_mm_cvtpu8_ps(__m64 __a)
|
|
2935
2912
|
{
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
__b = _mm_unpacklo_pi8(__a, __b);
|
|
2940
|
-
|
|
2941
|
-
return _mm_cvtpi16_ps(__b);
|
|
2913
|
+
return __builtin_convertvector(
|
|
2914
|
+
__builtin_shufflevector((__v8qu)__a, __extension__ (__v8qu){},
|
|
2915
|
+
0, 1, 2, 3), __v4sf);
|
|
2942
2916
|
}
|
|
2943
2917
|
|
|
2944
2918
|
/// Converts the two 32-bit signed integer values from each 64-bit vector
|
|
@@ -2957,16 +2931,12 @@ _mm_cvtpu8_ps(__m64 __a)
|
|
|
2957
2931
|
/// \returns A 128-bit vector of [4 x float] whose lower 64 bits contain the
|
|
2958
2932
|
/// copied and converted values from the first operand. The upper 64 bits
|
|
2959
2933
|
/// contain the copied and converted values from the second operand.
|
|
2960
|
-
static __inline__ __m128
|
|
2934
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
2961
2935
|
_mm_cvtpi32x2_ps(__m64 __a, __m64 __b)
|
|
2962
2936
|
{
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
|
|
2966
|
-
__c = _mm_cvtpi32_ps(__c, __b);
|
|
2967
|
-
__c = _mm_movelh_ps(__c, __c);
|
|
2968
|
-
|
|
2969
|
-
return _mm_cvtpi32_ps(__c, __a);
|
|
2937
|
+
return __builtin_convertvector(
|
|
2938
|
+
__builtin_shufflevector((__v2si)__a, (__v2si)__b,
|
|
2939
|
+
0, 1, 2, 3), __v4sf);
|
|
2970
2940
|
}
|
|
2971
2941
|
|
|
2972
2942
|
/// Converts each single-precision floating-point element of a 128-bit
|
|
@@ -2986,16 +2956,11 @@ _mm_cvtpi32x2_ps(__m64 __a, __m64 __b)
|
|
|
2986
2956
|
/// A 128-bit floating-point vector of [4 x float].
|
|
2987
2957
|
/// \returns A 64-bit integer vector of [4 x i16] containing the converted
|
|
2988
2958
|
/// values.
|
|
2989
|
-
static __inline__ __m64
|
|
2959
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
2990
2960
|
_mm_cvtps_pi16(__m128 __a)
|
|
2991
2961
|
{
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
__b = _mm_cvtps_pi32(__a);
|
|
2995
|
-
__a = _mm_movehl_ps(__a, __a);
|
|
2996
|
-
__c = _mm_cvtps_pi32(__a);
|
|
2997
|
-
|
|
2998
|
-
return _mm_packs_pi32(__b, __c);
|
|
2962
|
+
return __trunc64(__builtin_ia32_packssdw128(
|
|
2963
|
+
(__v4si)__builtin_ia32_cvtps2dq((__v4sf)__a), (__v4si)_mm_setzero_ps()));
|
|
2999
2964
|
}
|
|
3000
2965
|
|
|
3001
2966
|
/// Converts each single-precision floating-point element of a 128-bit
|
|
@@ -3016,7 +2981,7 @@ _mm_cvtps_pi16(__m128 __a)
|
|
|
3016
2981
|
/// 128-bit floating-point vector of [4 x float].
|
|
3017
2982
|
/// \returns A 64-bit integer vector of [8 x i8]. The lower 32 bits contain the
|
|
3018
2983
|
/// converted values and the uppper 32 bits are set to zero.
|
|
3019
|
-
static __inline__ __m64
|
|
2984
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
|
|
3020
2985
|
_mm_cvtps_pi8(__m128 __a)
|
|
3021
2986
|
{
|
|
3022
2987
|
__m64 __b, __c;
|
|
@@ -3041,9 +3006,7 @@ _mm_cvtps_pi8(__m128 __a)
|
|
|
3041
3006
|
/// \returns A 32-bit integer value. Bits [3:0] contain the sign bits from each
|
|
3042
3007
|
/// single-precision floating-point element of the parameter. Bits [31:4] are
|
|
3043
3008
|
/// set to zero.
|
|
3044
|
-
static __inline__ int
|
|
3045
|
-
_mm_movemask_ps(__m128 __a)
|
|
3046
|
-
{
|
|
3009
|
+
static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR _mm_movemask_ps(__m128 __a) {
|
|
3047
3010
|
return __builtin_ia32_movmskps((__v4sf)__a);
|
|
3048
3011
|
}
|
|
3049
3012
|
|
|
@@ -3196,8 +3159,14 @@ do { \
|
|
|
3196
3159
|
#define _m_psadbw _mm_sad_pu8
|
|
3197
3160
|
#define _m_ _mm_
|
|
3198
3161
|
|
|
3162
|
+
#undef __trunc64
|
|
3163
|
+
#undef __zext128
|
|
3164
|
+
#undef __anyext128
|
|
3165
|
+
#undef __zeroupper64
|
|
3199
3166
|
#undef __DEFAULT_FN_ATTRS
|
|
3200
|
-
#undef
|
|
3167
|
+
#undef __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
3168
|
+
#undef __DEFAULT_FN_ATTRS_SSE2
|
|
3169
|
+
#undef __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
|
|
3201
3170
|
|
|
3202
3171
|
/* Ugly hack for backwards-compatibility (compatible with gcc) */
|
|
3203
3172
|
#if defined(__SSE2__) && !__building_module(_Builtin_intrinsics)
|