@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
|
@@ -2502,37 +2502,37 @@ vec_cmplt(vector unsigned long long __a, vector unsigned long long __b) {
|
|
|
2502
2502
|
|
|
2503
2503
|
static __inline__ vector unsigned char __ATTRS_o_ai
|
|
2504
2504
|
vec_popcnt(vector signed char __a) {
|
|
2505
|
-
return (vector unsigned char)
|
|
2505
|
+
return (vector unsigned char)__builtin_elementwise_popcount(
|
|
2506
2506
|
(vector unsigned char)__a);
|
|
2507
2507
|
}
|
|
2508
2508
|
static __inline__ vector unsigned char __ATTRS_o_ai
|
|
2509
2509
|
vec_popcnt(vector unsigned char __a) {
|
|
2510
|
-
return
|
|
2510
|
+
return __builtin_elementwise_popcount(__a);
|
|
2511
2511
|
}
|
|
2512
2512
|
static __inline__ vector unsigned short __ATTRS_o_ai
|
|
2513
2513
|
vec_popcnt(vector signed short __a) {
|
|
2514
|
-
return (vector unsigned short)
|
|
2514
|
+
return (vector unsigned short)__builtin_elementwise_popcount(
|
|
2515
2515
|
(vector unsigned short)__a);
|
|
2516
2516
|
}
|
|
2517
2517
|
static __inline__ vector unsigned short __ATTRS_o_ai
|
|
2518
2518
|
vec_popcnt(vector unsigned short __a) {
|
|
2519
|
-
return
|
|
2519
|
+
return __builtin_elementwise_popcount(__a);
|
|
2520
2520
|
}
|
|
2521
2521
|
static __inline__ vector unsigned int __ATTRS_o_ai
|
|
2522
2522
|
vec_popcnt(vector signed int __a) {
|
|
2523
|
-
return
|
|
2523
|
+
return __builtin_elementwise_popcount((vector unsigned int)__a);
|
|
2524
2524
|
}
|
|
2525
2525
|
static __inline__ vector unsigned int __ATTRS_o_ai
|
|
2526
2526
|
vec_popcnt(vector unsigned int __a) {
|
|
2527
|
-
return
|
|
2527
|
+
return __builtin_elementwise_popcount(__a);
|
|
2528
2528
|
}
|
|
2529
2529
|
static __inline__ vector unsigned long long __ATTRS_o_ai
|
|
2530
2530
|
vec_popcnt(vector signed long long __a) {
|
|
2531
|
-
return
|
|
2531
|
+
return __builtin_elementwise_popcount((vector unsigned long long)__a);
|
|
2532
2532
|
}
|
|
2533
2533
|
static __inline__ vector unsigned long long __ATTRS_o_ai
|
|
2534
2534
|
vec_popcnt(vector unsigned long long __a) {
|
|
2535
|
-
return
|
|
2535
|
+
return __builtin_elementwise_popcount(__a);
|
|
2536
2536
|
}
|
|
2537
2537
|
|
|
2538
2538
|
#define vec_vclz vec_cntlz
|
|
@@ -17525,70 +17525,73 @@ vec_bperm(vector unsigned long long __a, vector unsigned char __b) {
|
|
|
17525
17525
|
|
|
17526
17526
|
/* vec_reve */
|
|
17527
17527
|
|
|
17528
|
-
static
|
|
17528
|
+
static __inline__ __ATTRS_o_ai vector bool char vec_reve(vector bool char __a) {
|
|
17529
17529
|
return __builtin_shufflevector(__a, __a, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,
|
|
17530
17530
|
5, 4, 3, 2, 1, 0);
|
|
17531
17531
|
}
|
|
17532
17532
|
|
|
17533
|
-
static
|
|
17533
|
+
static __inline__ __ATTRS_o_ai vector signed char
|
|
17534
|
+
vec_reve(vector signed char __a) {
|
|
17534
17535
|
return __builtin_shufflevector(__a, __a, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,
|
|
17535
17536
|
5, 4, 3, 2, 1, 0);
|
|
17536
17537
|
}
|
|
17537
17538
|
|
|
17538
|
-
static
|
|
17539
|
+
static __inline__ __ATTRS_o_ai vector unsigned char
|
|
17539
17540
|
vec_reve(vector unsigned char __a) {
|
|
17540
17541
|
return __builtin_shufflevector(__a, __a, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,
|
|
17541
17542
|
5, 4, 3, 2, 1, 0);
|
|
17542
17543
|
}
|
|
17543
17544
|
|
|
17544
|
-
static
|
|
17545
|
+
static __inline__ __ATTRS_o_ai vector bool int vec_reve(vector bool int __a) {
|
|
17545
17546
|
return __builtin_shufflevector(__a, __a, 3, 2, 1, 0);
|
|
17546
17547
|
}
|
|
17547
17548
|
|
|
17548
|
-
static
|
|
17549
|
+
static __inline__ __ATTRS_o_ai vector signed int
|
|
17550
|
+
vec_reve(vector signed int __a) {
|
|
17549
17551
|
return __builtin_shufflevector(__a, __a, 3, 2, 1, 0);
|
|
17550
17552
|
}
|
|
17551
17553
|
|
|
17552
|
-
static
|
|
17554
|
+
static __inline__ __ATTRS_o_ai vector unsigned int
|
|
17553
17555
|
vec_reve(vector unsigned int __a) {
|
|
17554
17556
|
return __builtin_shufflevector(__a, __a, 3, 2, 1, 0);
|
|
17555
17557
|
}
|
|
17556
17558
|
|
|
17557
|
-
static
|
|
17559
|
+
static __inline__ __ATTRS_o_ai vector bool short
|
|
17560
|
+
vec_reve(vector bool short __a) {
|
|
17558
17561
|
return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0);
|
|
17559
17562
|
}
|
|
17560
17563
|
|
|
17561
|
-
static
|
|
17564
|
+
static __inline__ __ATTRS_o_ai vector signed short
|
|
17562
17565
|
vec_reve(vector signed short __a) {
|
|
17563
17566
|
return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0);
|
|
17564
17567
|
}
|
|
17565
17568
|
|
|
17566
|
-
static
|
|
17569
|
+
static __inline__ __ATTRS_o_ai vector unsigned short
|
|
17567
17570
|
vec_reve(vector unsigned short __a) {
|
|
17568
17571
|
return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0);
|
|
17569
17572
|
}
|
|
17570
17573
|
|
|
17571
|
-
static
|
|
17574
|
+
static __inline__ __ATTRS_o_ai vector float vec_reve(vector float __a) {
|
|
17572
17575
|
return __builtin_shufflevector(__a, __a, 3, 2, 1, 0);
|
|
17573
17576
|
}
|
|
17574
17577
|
|
|
17575
17578
|
#ifdef __VSX__
|
|
17576
|
-
static
|
|
17579
|
+
static __inline__ __ATTRS_o_ai vector bool long long
|
|
17577
17580
|
vec_reve(vector bool long long __a) {
|
|
17578
17581
|
return __builtin_shufflevector(__a, __a, 1, 0);
|
|
17579
17582
|
}
|
|
17580
17583
|
|
|
17581
|
-
static
|
|
17584
|
+
static __inline__ __ATTRS_o_ai vector signed long long
|
|
17582
17585
|
vec_reve(vector signed long long __a) {
|
|
17583
17586
|
return __builtin_shufflevector(__a, __a, 1, 0);
|
|
17584
17587
|
}
|
|
17585
17588
|
|
|
17586
|
-
static
|
|
17589
|
+
static __inline__ __ATTRS_o_ai vector unsigned long long
|
|
17587
17590
|
vec_reve(vector unsigned long long __a) {
|
|
17588
17591
|
return __builtin_shufflevector(__a, __a, 1, 0);
|
|
17589
17592
|
}
|
|
17590
17593
|
|
|
17591
|
-
static
|
|
17594
|
+
static __inline__ __ATTRS_o_ai vector double vec_reve(vector double __a) {
|
|
17592
17595
|
return __builtin_shufflevector(__a, __a, 1, 0);
|
|
17593
17596
|
}
|
|
17594
17597
|
#endif
|
|
@@ -17721,42 +17724,42 @@ typedef vector signed int unaligned_vec_sint __attribute__((aligned(1)));
|
|
|
17721
17724
|
typedef vector unsigned int unaligned_vec_uint __attribute__((aligned(1)));
|
|
17722
17725
|
typedef vector float unaligned_vec_float __attribute__((aligned(1)));
|
|
17723
17726
|
|
|
17724
|
-
static
|
|
17725
|
-
|
|
17727
|
+
static __inline__ __ATTRS_o_ai vector signed char
|
|
17728
|
+
vec_xl(ptrdiff_t __offset, const signed char *__ptr) {
|
|
17726
17729
|
return *(unaligned_vec_schar *)(__ptr + __offset);
|
|
17727
17730
|
}
|
|
17728
17731
|
|
|
17729
|
-
static
|
|
17732
|
+
static __inline__ __ATTRS_o_ai vector unsigned char
|
|
17730
17733
|
vec_xl(ptrdiff_t __offset, const unsigned char *__ptr) {
|
|
17731
17734
|
return *(unaligned_vec_uchar*)(__ptr + __offset);
|
|
17732
17735
|
}
|
|
17733
17736
|
|
|
17734
|
-
static
|
|
17737
|
+
static __inline__ __ATTRS_o_ai vector signed short
|
|
17735
17738
|
vec_xl(ptrdiff_t __offset, const signed short *__ptr) {
|
|
17736
17739
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
17737
17740
|
return *(unaligned_vec_sshort *)__addr;
|
|
17738
17741
|
}
|
|
17739
17742
|
|
|
17740
|
-
static
|
|
17743
|
+
static __inline__ __ATTRS_o_ai vector unsigned short
|
|
17741
17744
|
vec_xl(ptrdiff_t __offset, const unsigned short *__ptr) {
|
|
17742
17745
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
17743
17746
|
return *(unaligned_vec_ushort *)__addr;
|
|
17744
17747
|
}
|
|
17745
17748
|
|
|
17746
|
-
static
|
|
17747
|
-
|
|
17749
|
+
static __inline__ __ATTRS_o_ai vector signed int
|
|
17750
|
+
vec_xl(ptrdiff_t __offset, const signed int *__ptr) {
|
|
17748
17751
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
17749
17752
|
return *(unaligned_vec_sint *)__addr;
|
|
17750
17753
|
}
|
|
17751
17754
|
|
|
17752
|
-
static
|
|
17755
|
+
static __inline__ __ATTRS_o_ai vector unsigned int
|
|
17753
17756
|
vec_xl(ptrdiff_t __offset, const unsigned int *__ptr) {
|
|
17754
17757
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
17755
17758
|
return *(unaligned_vec_uint *)__addr;
|
|
17756
17759
|
}
|
|
17757
17760
|
|
|
17758
|
-
static
|
|
17759
|
-
|
|
17761
|
+
static __inline__ __ATTRS_o_ai vector float vec_xl(ptrdiff_t __offset,
|
|
17762
|
+
const float *__ptr) {
|
|
17760
17763
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
17761
17764
|
return *(unaligned_vec_float *)__addr;
|
|
17762
17765
|
}
|
|
@@ -17766,20 +17769,20 @@ typedef vector signed long long unaligned_vec_sll __attribute__((aligned(1)));
|
|
|
17766
17769
|
typedef vector unsigned long long unaligned_vec_ull __attribute__((aligned(1)));
|
|
17767
17770
|
typedef vector double unaligned_vec_double __attribute__((aligned(1)));
|
|
17768
17771
|
|
|
17769
|
-
static
|
|
17772
|
+
static __inline__ __ATTRS_o_ai vector signed long long
|
|
17770
17773
|
vec_xl(ptrdiff_t __offset, const signed long long *__ptr) {
|
|
17771
17774
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
17772
17775
|
return *(unaligned_vec_sll *)__addr;
|
|
17773
17776
|
}
|
|
17774
17777
|
|
|
17775
|
-
static
|
|
17778
|
+
static __inline__ __ATTRS_o_ai vector unsigned long long
|
|
17776
17779
|
vec_xl(ptrdiff_t __offset, const unsigned long long *__ptr) {
|
|
17777
17780
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
17778
17781
|
return *(unaligned_vec_ull *)__addr;
|
|
17779
17782
|
}
|
|
17780
17783
|
|
|
17781
|
-
static
|
|
17782
|
-
|
|
17784
|
+
static __inline__ __ATTRS_o_ai vector double vec_xl(ptrdiff_t __offset,
|
|
17785
|
+
const double *__ptr) {
|
|
17783
17786
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
17784
17787
|
return *(unaligned_vec_double *)__addr;
|
|
17785
17788
|
}
|
|
@@ -17790,13 +17793,13 @@ static inline __ATTRS_o_ai vector double vec_xl(ptrdiff_t __offset,
|
|
|
17790
17793
|
typedef vector signed __int128 unaligned_vec_si128 __attribute__((aligned(1)));
|
|
17791
17794
|
typedef vector unsigned __int128 unaligned_vec_ui128
|
|
17792
17795
|
__attribute__((aligned(1)));
|
|
17793
|
-
static
|
|
17796
|
+
static __inline__ __ATTRS_o_ai vector signed __int128
|
|
17794
17797
|
vec_xl(ptrdiff_t __offset, const signed __int128 *__ptr) {
|
|
17795
17798
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
17796
17799
|
return *(unaligned_vec_si128 *)__addr;
|
|
17797
17800
|
}
|
|
17798
17801
|
|
|
17799
|
-
static
|
|
17802
|
+
static __inline__ __ATTRS_o_ai vector unsigned __int128
|
|
17800
17803
|
vec_xl(ptrdiff_t __offset, const unsigned __int128 *__ptr) {
|
|
17801
17804
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
17802
17805
|
return *(unaligned_vec_ui128 *)__addr;
|
|
@@ -17991,64 +17994,64 @@ vec_load_splats(unsigned long long __offset, const float *__ptr) {
|
|
|
17991
17994
|
|
|
17992
17995
|
#define vec_xstd2 vec_xst
|
|
17993
17996
|
#define vec_xstw4 vec_xst
|
|
17994
|
-
static
|
|
17997
|
+
static __inline__ __ATTRS_o_ai void
|
|
17995
17998
|
vec_xst(vector signed char __vec, ptrdiff_t __offset, signed char *__ptr) {
|
|
17996
17999
|
*(unaligned_vec_schar *)(__ptr + __offset) = __vec;
|
|
17997
18000
|
}
|
|
17998
18001
|
|
|
17999
|
-
static
|
|
18002
|
+
static __inline__ __ATTRS_o_ai void
|
|
18000
18003
|
vec_xst(vector unsigned char __vec, ptrdiff_t __offset, unsigned char *__ptr) {
|
|
18001
18004
|
*(unaligned_vec_uchar *)(__ptr + __offset) = __vec;
|
|
18002
18005
|
}
|
|
18003
18006
|
|
|
18004
|
-
static
|
|
18007
|
+
static __inline__ __ATTRS_o_ai void
|
|
18005
18008
|
vec_xst(vector signed short __vec, ptrdiff_t __offset, signed short *__ptr) {
|
|
18006
18009
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
18007
18010
|
*(unaligned_vec_sshort *)__addr = __vec;
|
|
18008
18011
|
}
|
|
18009
18012
|
|
|
18010
|
-
static
|
|
18011
|
-
|
|
18012
|
-
|
|
18013
|
+
static __inline__ __ATTRS_o_ai void vec_xst(vector unsigned short __vec,
|
|
18014
|
+
ptrdiff_t __offset,
|
|
18015
|
+
unsigned short *__ptr) {
|
|
18013
18016
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
18014
18017
|
*(unaligned_vec_ushort *)__addr = __vec;
|
|
18015
18018
|
}
|
|
18016
18019
|
|
|
18017
|
-
static
|
|
18018
|
-
|
|
18020
|
+
static __inline__ __ATTRS_o_ai void
|
|
18021
|
+
vec_xst(vector signed int __vec, ptrdiff_t __offset, signed int *__ptr) {
|
|
18019
18022
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
18020
18023
|
*(unaligned_vec_sint *)__addr = __vec;
|
|
18021
18024
|
}
|
|
18022
18025
|
|
|
18023
|
-
static
|
|
18026
|
+
static __inline__ __ATTRS_o_ai void
|
|
18024
18027
|
vec_xst(vector unsigned int __vec, ptrdiff_t __offset, unsigned int *__ptr) {
|
|
18025
18028
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
18026
18029
|
*(unaligned_vec_uint *)__addr = __vec;
|
|
18027
18030
|
}
|
|
18028
18031
|
|
|
18029
|
-
static
|
|
18030
|
-
|
|
18032
|
+
static __inline__ __ATTRS_o_ai void vec_xst(vector float __vec,
|
|
18033
|
+
ptrdiff_t __offset, float *__ptr) {
|
|
18031
18034
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
18032
18035
|
*(unaligned_vec_float *)__addr = __vec;
|
|
18033
18036
|
}
|
|
18034
18037
|
|
|
18035
18038
|
#ifdef __VSX__
|
|
18036
|
-
static
|
|
18037
|
-
|
|
18038
|
-
|
|
18039
|
+
static __inline__ __ATTRS_o_ai void vec_xst(vector signed long long __vec,
|
|
18040
|
+
ptrdiff_t __offset,
|
|
18041
|
+
signed long long *__ptr) {
|
|
18039
18042
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
18040
18043
|
*(unaligned_vec_sll *)__addr = __vec;
|
|
18041
18044
|
}
|
|
18042
18045
|
|
|
18043
|
-
static
|
|
18044
|
-
|
|
18045
|
-
|
|
18046
|
+
static __inline__ __ATTRS_o_ai void vec_xst(vector unsigned long long __vec,
|
|
18047
|
+
ptrdiff_t __offset,
|
|
18048
|
+
unsigned long long *__ptr) {
|
|
18046
18049
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
18047
18050
|
*(unaligned_vec_ull *)__addr = __vec;
|
|
18048
18051
|
}
|
|
18049
18052
|
|
|
18050
|
-
static
|
|
18051
|
-
|
|
18053
|
+
static __inline__ __ATTRS_o_ai void vec_xst(vector double __vec,
|
|
18054
|
+
ptrdiff_t __offset, double *__ptr) {
|
|
18052
18055
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
18053
18056
|
*(unaligned_vec_double *)__addr = __vec;
|
|
18054
18057
|
}
|
|
@@ -18056,16 +18059,16 @@ static inline __ATTRS_o_ai void vec_xst(vector double __vec, ptrdiff_t __offset,
|
|
|
18056
18059
|
|
|
18057
18060
|
#if defined(__POWER8_VECTOR__) && defined(__powerpc64__) && \
|
|
18058
18061
|
defined(__SIZEOF_INT128__)
|
|
18059
|
-
static
|
|
18060
|
-
|
|
18061
|
-
|
|
18062
|
+
static __inline__ __ATTRS_o_ai void vec_xst(vector signed __int128 __vec,
|
|
18063
|
+
ptrdiff_t __offset,
|
|
18064
|
+
signed __int128 *__ptr) {
|
|
18062
18065
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
18063
18066
|
*(unaligned_vec_si128 *)__addr = __vec;
|
|
18064
18067
|
}
|
|
18065
18068
|
|
|
18066
|
-
static
|
|
18067
|
-
|
|
18068
|
-
|
|
18069
|
+
static __inline__ __ATTRS_o_ai void vec_xst(vector unsigned __int128 __vec,
|
|
18070
|
+
ptrdiff_t __offset,
|
|
18071
|
+
unsigned __int128 *__ptr) {
|
|
18069
18072
|
signed char *__addr = (signed char *)__ptr + __offset;
|
|
18070
18073
|
*(unaligned_vec_ui128 *)__addr = __vec;
|
|
18071
18074
|
}
|
|
@@ -18075,51 +18078,51 @@ static inline __ATTRS_o_ai void vec_xst(vector unsigned __int128 __vec,
|
|
|
18075
18078
|
|
|
18076
18079
|
#if defined(__POWER10_VECTOR__) && defined(__VSX__) && \
|
|
18077
18080
|
defined(__SIZEOF_INT128__)
|
|
18078
|
-
static
|
|
18079
|
-
|
|
18080
|
-
|
|
18081
|
+
static __inline__ __ATTRS_o_ai void vec_xst_trunc(vector signed __int128 __vec,
|
|
18082
|
+
ptrdiff_t __offset,
|
|
18083
|
+
signed char *__ptr) {
|
|
18081
18084
|
*(__ptr + __offset) = (signed char)__vec[0];
|
|
18082
18085
|
}
|
|
18083
18086
|
|
|
18084
|
-
static
|
|
18085
|
-
|
|
18086
|
-
|
|
18087
|
+
static __inline__ __ATTRS_o_ai void
|
|
18088
|
+
vec_xst_trunc(vector unsigned __int128 __vec, ptrdiff_t __offset,
|
|
18089
|
+
unsigned char *__ptr) {
|
|
18087
18090
|
*(__ptr + __offset) = (unsigned char)__vec[0];
|
|
18088
18091
|
}
|
|
18089
18092
|
|
|
18090
|
-
static
|
|
18091
|
-
|
|
18092
|
-
|
|
18093
|
+
static __inline__ __ATTRS_o_ai void vec_xst_trunc(vector signed __int128 __vec,
|
|
18094
|
+
ptrdiff_t __offset,
|
|
18095
|
+
signed short *__ptr) {
|
|
18093
18096
|
*(__ptr + __offset) = (signed short)__vec[0];
|
|
18094
18097
|
}
|
|
18095
18098
|
|
|
18096
|
-
static
|
|
18097
|
-
|
|
18098
|
-
|
|
18099
|
+
static __inline__ __ATTRS_o_ai void
|
|
18100
|
+
vec_xst_trunc(vector unsigned __int128 __vec, ptrdiff_t __offset,
|
|
18101
|
+
unsigned short *__ptr) {
|
|
18099
18102
|
*(__ptr + __offset) = (unsigned short)__vec[0];
|
|
18100
18103
|
}
|
|
18101
18104
|
|
|
18102
|
-
static
|
|
18103
|
-
|
|
18104
|
-
|
|
18105
|
+
static __inline__ __ATTRS_o_ai void vec_xst_trunc(vector signed __int128 __vec,
|
|
18106
|
+
ptrdiff_t __offset,
|
|
18107
|
+
signed int *__ptr) {
|
|
18105
18108
|
*(__ptr + __offset) = (signed int)__vec[0];
|
|
18106
18109
|
}
|
|
18107
18110
|
|
|
18108
|
-
static
|
|
18109
|
-
|
|
18110
|
-
|
|
18111
|
+
static __inline__ __ATTRS_o_ai void
|
|
18112
|
+
vec_xst_trunc(vector unsigned __int128 __vec, ptrdiff_t __offset,
|
|
18113
|
+
unsigned int *__ptr) {
|
|
18111
18114
|
*(__ptr + __offset) = (unsigned int)__vec[0];
|
|
18112
18115
|
}
|
|
18113
18116
|
|
|
18114
|
-
static
|
|
18115
|
-
|
|
18116
|
-
|
|
18117
|
+
static __inline__ __ATTRS_o_ai void vec_xst_trunc(vector signed __int128 __vec,
|
|
18118
|
+
ptrdiff_t __offset,
|
|
18119
|
+
signed long long *__ptr) {
|
|
18117
18120
|
*(__ptr + __offset) = (signed long long)__vec[0];
|
|
18118
18121
|
}
|
|
18119
18122
|
|
|
18120
|
-
static
|
|
18121
|
-
|
|
18122
|
-
|
|
18123
|
+
static __inline__ __ATTRS_o_ai void
|
|
18124
|
+
vec_xst_trunc(vector unsigned __int128 __vec, ptrdiff_t __offset,
|
|
18125
|
+
unsigned long long *__ptr) {
|
|
18123
18126
|
*(__ptr + __offset) = (unsigned long long)__vec[0];
|
|
18124
18127
|
}
|
|
18125
18128
|
#endif
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
//===-- amdgpuintrin.h - AMDPGU intrinsic functions -----------------------===//
|
|
2
|
+
//
|
|
3
|
+
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
// See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
//
|
|
7
|
+
//===----------------------------------------------------------------------===//
|
|
8
|
+
|
|
9
|
+
#ifndef __AMDGPUINTRIN_H
|
|
10
|
+
#define __AMDGPUINTRIN_H
|
|
11
|
+
|
|
12
|
+
#ifndef __AMDGPU__
|
|
13
|
+
#error "This file is intended for AMDGPU targets or offloading to AMDGPU"
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
#ifndef __GPUINTRIN_H
|
|
17
|
+
#error "Never use <amdgpuintrin.h> directly; include <gpuintrin.h> instead"
|
|
18
|
+
#endif
|
|
19
|
+
|
|
20
|
+
_Pragma("omp begin declare target device_type(nohost)");
|
|
21
|
+
_Pragma("omp begin declare variant match(device = {arch(amdgcn)})");
|
|
22
|
+
|
|
23
|
+
// Type aliases to the address spaces used by the AMDGPU backend.
|
|
24
|
+
#define __gpu_private __attribute__((address_space(5)))
|
|
25
|
+
#define __gpu_constant __attribute__((address_space(4)))
|
|
26
|
+
#define __gpu_local __attribute__((address_space(3)))
|
|
27
|
+
#define __gpu_global __attribute__((address_space(1)))
|
|
28
|
+
#define __gpu_generic __attribute__((address_space(0)))
|
|
29
|
+
|
|
30
|
+
// Attribute to declare a function as a kernel.
|
|
31
|
+
#define __gpu_kernel __attribute__((amdgpu_kernel, visibility("protected")))
|
|
32
|
+
|
|
33
|
+
// Returns the number of workgroups in the 'x' dimension of the grid.
|
|
34
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_blocks_x(void) {
|
|
35
|
+
return __builtin_amdgcn_grid_size_x() / __builtin_amdgcn_workgroup_size_x();
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Returns the number of workgroups in the 'y' dimension of the grid.
|
|
39
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_blocks_y(void) {
|
|
40
|
+
return __builtin_amdgcn_grid_size_y() / __builtin_amdgcn_workgroup_size_y();
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Returns the number of workgroups in the 'z' dimension of the grid.
|
|
44
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_blocks_z(void) {
|
|
45
|
+
return __builtin_amdgcn_grid_size_z() / __builtin_amdgcn_workgroup_size_z();
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Returns the 'x' dimension of the current AMD workgroup's id.
|
|
49
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_block_id_x(void) {
|
|
50
|
+
return __builtin_amdgcn_workgroup_id_x();
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// Returns the 'y' dimension of the current AMD workgroup's id.
|
|
54
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_block_id_y(void) {
|
|
55
|
+
return __builtin_amdgcn_workgroup_id_y();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// Returns the 'z' dimension of the current AMD workgroup's id.
|
|
59
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_block_id_z(void) {
|
|
60
|
+
return __builtin_amdgcn_workgroup_id_z();
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Returns the number of workitems in the 'x' dimension.
|
|
64
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_threads_x(void) {
|
|
65
|
+
return __builtin_amdgcn_workgroup_size_x();
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Returns the number of workitems in the 'y' dimension.
|
|
69
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_threads_y(void) {
|
|
70
|
+
return __builtin_amdgcn_workgroup_size_y();
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Returns the number of workitems in the 'z' dimension.
|
|
74
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_threads_z(void) {
|
|
75
|
+
return __builtin_amdgcn_workgroup_size_z();
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// Returns the 'x' dimension id of the workitem in the current AMD workgroup.
|
|
79
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_thread_id_x(void) {
|
|
80
|
+
return __builtin_amdgcn_workitem_id_x();
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Returns the 'y' dimension id of the workitem in the current AMD workgroup.
|
|
84
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_thread_id_y(void) {
|
|
85
|
+
return __builtin_amdgcn_workitem_id_y();
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// Returns the 'z' dimension id of the workitem in the current AMD workgroup.
|
|
89
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_thread_id_z(void) {
|
|
90
|
+
return __builtin_amdgcn_workitem_id_z();
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// Returns the size of an AMD wavefront, either 32 or 64 depending on hardware
|
|
94
|
+
// and compilation options.
|
|
95
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_lanes(void) {
|
|
96
|
+
return __builtin_amdgcn_wavefrontsize();
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// Returns the id of the thread inside of an AMD wavefront executing together.
|
|
100
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_lane_id(void) {
|
|
101
|
+
return __builtin_amdgcn_mbcnt_hi(~0u, __builtin_amdgcn_mbcnt_lo(~0u, 0u));
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Returns the bit-mask of active threads in the current wavefront.
|
|
105
|
+
_DEFAULT_FN_ATTRS static __inline__ uint64_t __gpu_lane_mask(void) {
|
|
106
|
+
return __builtin_amdgcn_read_exec();
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Copies the value from the first active thread in the wavefront to the rest.
|
|
110
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t
|
|
111
|
+
__gpu_read_first_lane_u32(uint64_t __lane_mask, uint32_t __x) {
|
|
112
|
+
return __builtin_amdgcn_readfirstlane(__x);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// Returns a bitmask of threads in the current lane for which \p x is true.
|
|
116
|
+
_DEFAULT_FN_ATTRS static __inline__ uint64_t __gpu_ballot(uint64_t __lane_mask,
|
|
117
|
+
bool __x) {
|
|
118
|
+
// The lane_mask & gives the nvptx semantics when lane_mask is a subset of
|
|
119
|
+
// the active threads
|
|
120
|
+
return __lane_mask & __builtin_amdgcn_ballot_w64(__x);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// Waits for all the threads in the block to converge and issues a fence.
|
|
124
|
+
_DEFAULT_FN_ATTRS static __inline__ void __gpu_sync_threads(void) {
|
|
125
|
+
__builtin_amdgcn_s_barrier();
|
|
126
|
+
__builtin_amdgcn_fence(__ATOMIC_SEQ_CST, "workgroup");
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// Wait for all threads in the wavefront to converge, this is a noop on AMDGPU.
|
|
130
|
+
_DEFAULT_FN_ATTRS static __inline__ void __gpu_sync_lane(uint64_t __lane_mask) {
|
|
131
|
+
__builtin_amdgcn_wave_barrier();
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// Shuffles the the lanes inside the wavefront according to the given index.
|
|
135
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t
|
|
136
|
+
__gpu_shuffle_idx_u32(uint64_t __lane_mask, uint32_t __idx, uint32_t __x,
|
|
137
|
+
uint32_t __width) {
|
|
138
|
+
uint32_t __lane = __idx + (__gpu_lane_id() & ~(__width - 1));
|
|
139
|
+
return __builtin_amdgcn_ds_bpermute(__lane << 2, __x);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// Returns a bitmask marking all lanes that have the same value of __x.
|
|
143
|
+
_DEFAULT_FN_ATTRS static __inline__ uint64_t
|
|
144
|
+
__gpu_match_any_u32(uint64_t __lane_mask, uint32_t __x) {
|
|
145
|
+
return __gpu_match_any_u32_impl(__lane_mask, __x);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// Returns a bitmask marking all lanes that have the same value of __x.
|
|
149
|
+
_DEFAULT_FN_ATTRS static __inline__ uint64_t
|
|
150
|
+
__gpu_match_any_u64(uint64_t __lane_mask, uint64_t __x) {
|
|
151
|
+
return __gpu_match_any_u64_impl(__lane_mask, __x);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// Returns the current lane mask if every lane contains __x.
|
|
155
|
+
_DEFAULT_FN_ATTRS static __inline__ uint64_t
|
|
156
|
+
__gpu_match_all_u32(uint64_t __lane_mask, uint32_t __x) {
|
|
157
|
+
return __gpu_match_all_u32_impl(__lane_mask, __x);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// Returns the current lane mask if every lane contains __x.
|
|
161
|
+
_DEFAULT_FN_ATTRS static __inline__ uint64_t
|
|
162
|
+
__gpu_match_all_u64(uint64_t __lane_mask, uint64_t __x) {
|
|
163
|
+
return __gpu_match_all_u64_impl(__lane_mask, __x);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// Returns true if the flat pointer points to AMDGPU 'shared' memory.
|
|
167
|
+
_DEFAULT_FN_ATTRS static __inline__ bool __gpu_is_ptr_local(void *ptr) {
|
|
168
|
+
return __builtin_amdgcn_is_shared((void [[clang::address_space(0)]] *)((
|
|
169
|
+
void [[clang::opencl_generic]] *)ptr));
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// Returns true if the flat pointer points to AMDGPU 'private' memory.
|
|
173
|
+
_DEFAULT_FN_ATTRS static __inline__ bool __gpu_is_ptr_private(void *ptr) {
|
|
174
|
+
return __builtin_amdgcn_is_private((void [[clang::address_space(0)]] *)((
|
|
175
|
+
void [[clang::opencl_generic]] *)ptr));
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
// Terminates execution of the associated wavefront.
|
|
179
|
+
_DEFAULT_FN_ATTRS [[noreturn]] static __inline__ void __gpu_exit(void) {
|
|
180
|
+
__builtin_amdgcn_endpgm();
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// Suspend the thread briefly to assist the scheduler during busy loops.
|
|
184
|
+
_DEFAULT_FN_ATTRS static __inline__ void __gpu_thread_suspend(void) {
|
|
185
|
+
__builtin_amdgcn_s_sleep(2);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
_Pragma("omp end declare variant");
|
|
189
|
+
_Pragma("omp end declare target");
|
|
190
|
+
|
|
191
|
+
#endif // __AMDGPUINTRIN_H
|