@cpp-linter/clang-tidy-win32-x64 20.1.0 → 22.1.8
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/22/include/__clang_cuda_complex_builtins.h +229 -0
- package/lib/clang/{20 → 22}/include/__clang_cuda_device_functions.h +1 -1
- package/lib/clang/{20 → 22}/include/__clang_cuda_intrinsics.h +295 -8
- package/lib/clang/{20 → 22}/include/__clang_cuda_runtime_wrapper.h +19 -0
- package/lib/clang/{20 → 22}/include/__clang_cuda_texture_intrinsics.h +437 -2
- package/lib/clang/{20 → 22}/include/__clang_hip_cmath.h +9 -8
- package/lib/clang/{20 → 22}/include/__clang_hip_libdevice_declares.h +29 -42
- package/lib/clang/{20 → 22}/include/__clang_hip_math.h +107 -31
- package/lib/clang/{20 → 22}/include/__clang_hip_runtime_wrapper.h +6 -0
- package/lib/clang/22/include/__clang_spirv_builtins.h +217 -0
- package/lib/clang/{20/include/float.h → 22/include/__float_float.h} +14 -34
- package/lib/clang/22/include/__float_header_macro.h +12 -0
- package/lib/clang/22/include/__float_infinity_nan.h +20 -0
- package/lib/clang/{20 → 22}/include/__stdarg_va_arg.h +2 -2
- package/lib/clang/{20 → 22}/include/altivec.h +82 -79
- package/lib/clang/{20 → 22}/include/amdgpuintrin.h +23 -26
- package/lib/clang/22/include/amo.h +131 -0
- package/lib/clang/{20 → 22}/include/amxavx512intrin.h +216 -2
- package/lib/clang/{20 → 22}/include/amxcomplexintrin.h +4 -6
- package/lib/clang/{20 → 22}/include/amxintrin.h +0 -2
- package/lib/clang/22/include/andes_vector.h +16 -0
- package/lib/clang/{20 → 22}/include/arm_acle.h +48 -68
- package/lib/clang/{20 → 22}/include/arm_fp16.h +89 -89
- package/lib/clang/{20 → 22}/include/arm_neon.h +22413 -19759
- package/lib/clang/{20 → 22}/include/arm_sme.h +702 -8
- package/lib/clang/{20 → 22}/include/arm_sve.h +6346 -5626
- package/lib/clang/{20 → 22}/include/avx10_2_512bf16intrin.h +19 -12
- package/lib/clang/{20 → 22}/include/avx10_2_512convertintrin.h +25 -23
- package/lib/clang/{20 → 22}/include/avx10_2_512niintrin.h +31 -31
- package/lib/clang/{20 → 22}/include/avx10_2_512satcvtdsintrin.h +29 -25
- package/lib/clang/{20 → 22}/include/avx10_2_512satcvtintrin.h +84 -84
- package/lib/clang/{20 → 22}/include/avx10_2bf16intrin.h +54 -45
- package/lib/clang/22/include/avx10_2convertintrin.h +3257 -0
- package/lib/clang/{20 → 22}/include/avx10_2copyintrin.h +1 -1
- package/lib/clang/{20 → 22}/include/avx10_2minmaxintrin.h +18 -63
- package/lib/clang/22/include/avx10_2niintrin.h +409 -0
- package/lib/clang/22/include/avx10_2satcvtdsintrin.h +376 -0
- package/lib/clang/22/include/avx10_2satcvtintrin.h +312 -0
- package/lib/clang/{20 → 22}/include/avx2intrin.h +275 -377
- package/lib/clang/{20 → 22}/include/avx512bf16intrin.h +25 -16
- package/lib/clang/{20 → 22}/include/avx512bitalgintrin.h +19 -30
- package/lib/clang/{20 → 22}/include/avx512bwintrin.h +386 -505
- package/lib/clang/22/include/avx512cdintrin.h +112 -0
- package/lib/clang/{20 → 22}/include/avx512dqintrin.h +132 -161
- package/lib/clang/{20 → 22}/include/avx512fintrin.h +1015 -1424
- package/lib/clang/{20 → 22}/include/avx512fp16intrin.h +114 -111
- package/lib/clang/22/include/avx512ifmaintrin.h +68 -0
- package/lib/clang/22/include/avx512ifmavlintrin.h +138 -0
- package/lib/clang/{20 → 22}/include/avx512vbmi2intrin.h +43 -32
- package/lib/clang/{20 → 22}/include/avx512vbmiintrin.h +19 -27
- package/lib/clang/{20 → 22}/include/avx512vbmivlintrin.h +35 -49
- package/lib/clang/{20 → 22}/include/avx512vlbf16intrin.h +32 -22
- package/lib/clang/{20 → 22}/include/avx512vlbitalgintrin.h +37 -53
- package/lib/clang/{20 → 22}/include/avx512vlbwintrin.h +470 -573
- package/lib/clang/22/include/avx512vlcdintrin.h +202 -0
- package/lib/clang/{20 → 22}/include/avx512vldqintrin.h +110 -127
- package/lib/clang/{20 → 22}/include/avx512vlfp16intrin.h +130 -111
- package/lib/clang/{20 → 22}/include/avx512vlintrin.h +945 -1299
- package/lib/clang/{20 → 22}/include/avx512vlvbmi2intrin.h +78 -63
- package/lib/clang/{20 → 22}/include/avx512vlvnniintrin.h +21 -18
- package/lib/clang/{20 → 22}/include/avx512vlvp2intersectintrin.h +2 -2
- package/lib/clang/{20 → 22}/include/avx512vnniintrin.h +10 -10
- package/lib/clang/{20 → 22}/include/avx512vp2intersectintrin.h +1 -2
- package/lib/clang/{20 → 22}/include/avx512vpopcntdqintrin.h +8 -10
- package/lib/clang/{20 → 22}/include/avx512vpopcntdqvlintrin.h +17 -15
- package/lib/clang/{20 → 22}/include/avxifmaintrin.h +16 -0
- package/lib/clang/{20 → 22}/include/avxintrin.h +165 -241
- package/lib/clang/{20 → 22}/include/avxvnniint16intrin.h +118 -99
- package/lib/clang/{20 → 22}/include/avxvnniint8intrin.h +56 -32
- package/lib/clang/{20 → 22}/include/avxvnniintrin.h +16 -8
- package/lib/clang/{20 → 22}/include/bmiintrin.h +0 -4
- package/lib/clang/{20 → 22}/include/cpuid.h +125 -26
- package/lib/clang/22/include/cuda_wrappers/__utility/declval.h +28 -0
- package/lib/clang/22/include/cuda_wrappers/bits/c++config.h +61 -0
- package/lib/clang/{20 → 22}/include/cuda_wrappers/cmath +0 -50
- package/lib/clang/{20 → 22}/include/emmintrin.h +168 -168
- package/lib/clang/{20 → 22}/include/f16cintrin.h +23 -9
- package/lib/clang/22/include/float.h +48 -0
- package/lib/clang/22/include/fma4intrin.h +220 -0
- package/lib/clang/{20 → 22}/include/fmaintrin.h +96 -66
- package/lib/clang/{20 → 22}/include/gfniintrin.h +21 -16
- package/lib/clang/{20 → 22}/include/gpuintrin.h +117 -11
- package/lib/clang/{20 → 22}/include/hexagon_types.h +23 -20
- package/lib/clang/{20/include/hlsl/hlsl_intrinsics.h → 22/include/hlsl/hlsl_alias_intrinsics.h} +643 -296
- package/lib/clang/22/include/hlsl/hlsl_basic_types.h +370 -0
- package/lib/clang/22/include/hlsl/hlsl_compat_overloads.h +520 -0
- package/lib/clang/22/include/hlsl/hlsl_detail.h +54 -0
- package/lib/clang/22/include/hlsl/hlsl_intrinsic_helpers.h +190 -0
- package/lib/clang/22/include/hlsl/hlsl_intrinsics.h +794 -0
- package/lib/clang/22/include/hlsl/hlsl_spirv.h +28 -0
- package/lib/clang/{20 → 22}/include/hlsl.h +12 -0
- package/lib/clang/{20 → 22}/include/hvx_hexagon_protos.h +649 -860
- package/lib/clang/{20 → 22}/include/immintrin.h +0 -236
- package/lib/clang/{20 → 22}/include/intrin.h +25 -4
- package/lib/clang/{20 → 22}/include/keylockerintrin.h +0 -9
- package/lib/clang/{20 → 22}/include/lasxintrin.h +113 -0
- package/lib/clang/{20 → 22}/include/llvm_libc_wrappers/assert.h +3 -5
- package/lib/clang/22/include/llvm_libc_wrappers/ctype.h +28 -0
- package/lib/clang/{20 → 22}/include/llvm_libc_wrappers/inttypes.h +3 -5
- package/lib/clang/22/include/llvm_libc_wrappers/stdio.h +52 -0
- package/lib/clang/22/include/llvm_libc_wrappers/stdlib.h +32 -0
- package/lib/clang/22/include/llvm_libc_wrappers/string.h +28 -0
- package/lib/clang/{20 → 22}/include/llvm_libc_wrappers/time.h +4 -10
- package/lib/clang/{20 → 22}/include/lzcntintrin.h +6 -4
- package/lib/clang/{20 → 22}/include/mmintrin.h +188 -257
- package/lib/clang/{20 → 22}/include/module.modulemap +36 -4
- package/lib/clang/{20 → 22}/include/movrs_avx10_2_512intrin.h +2 -2
- package/lib/clang/{20 → 22}/include/movrs_avx10_2intrin.h +4 -4
- package/lib/clang/{20 → 22}/include/movrsintrin.h +1 -1
- package/lib/clang/{20 → 22}/include/nvptxintrin.h +48 -31
- package/lib/clang/{20 → 22}/include/opencl-c-base.h +18 -93
- package/lib/clang/{20 → 22}/include/opencl-c.h +360 -55
- package/lib/clang/{20 → 22}/include/pmmintrin.h +12 -24
- package/lib/clang/{20 → 22}/include/prfchwintrin.h +10 -13
- package/lib/clang/{20 → 22}/include/ptrauth.h +73 -2
- package/lib/clang/{20 → 22}/include/riscv_corev_alu.h +4 -4
- package/lib/clang/22/include/riscv_mips.h +34 -0
- package/lib/clang/22/include/riscv_nds.h +89 -0
- package/lib/clang/{20 → 22}/include/riscv_vector.h +0 -4
- package/lib/clang/{20 → 22}/include/shaintrin.h +3 -2
- package/lib/clang/{20 → 22}/include/sifive_vector.h +58 -2
- package/lib/clang/{20 → 22}/include/sm4evexintrin.h +2 -2
- package/lib/clang/{20 → 22}/include/smmintrin.h +77 -59
- package/lib/clang/22/include/spirvintrin.h +194 -0
- package/lib/clang/22/include/stdcountof.h +15 -0
- package/lib/clang/22/include/stddefer.h +19 -0
- package/lib/clang/{20 → 22}/include/stdint.h +18 -129
- package/lib/clang/{20 → 22}/include/tmmintrin.h +116 -147
- package/lib/clang/{20 → 22}/include/vaesintrin.h +1 -2
- package/lib/clang/{20 → 22}/include/vecintrin.h +5 -0
- package/lib/clang/{20 → 22}/include/x86gprintrin.h +0 -14
- package/lib/clang/{20 → 22}/include/x86intrin.h +0 -18
- package/lib/clang/{20 → 22}/include/xmmintrin.h +47 -72
- package/lib/clang/{20 → 22}/include/xopintrin.h +20 -10
- package/package.json +6 -6
- package/lib/clang/20/include/__clang_cuda_complex_builtins.h +0 -285
- package/lib/clang/20/include/amxbf16transposeintrin.h +0 -94
- package/lib/clang/20/include/amxcomplextransposeintrin.h +0 -303
- package/lib/clang/20/include/amxfp16transposeintrin.h +0 -94
- package/lib/clang/20/include/amxmovrstransposeintrin.h +0 -200
- package/lib/clang/20/include/amxtf32transposeintrin.h +0 -105
- package/lib/clang/20/include/amxtransposeintrin.h +0 -248
- package/lib/clang/20/include/avx10_2convertintrin.h +0 -589
- package/lib/clang/20/include/avx10_2niintrin.h +0 -2075
- package/lib/clang/20/include/avx10_2satcvtdsintrin.h +0 -496
- package/lib/clang/20/include/avx10_2satcvtintrin.h +0 -444
- package/lib/clang/20/include/avx512cdintrin.h +0 -125
- package/lib/clang/20/include/avx512ifmaintrin.h +0 -70
- package/lib/clang/20/include/avx512ifmavlintrin.h +0 -111
- package/lib/clang/20/include/avx512vlcdintrin.h +0 -230
- package/lib/clang/20/include/fma4intrin.h +0 -218
- package/lib/clang/20/include/hlsl/hlsl_basic_types.h +0 -120
- package/lib/clang/20/include/hlsl/hlsl_detail.h +0 -84
- package/lib/clang/20/include/llvm_libc_wrappers/ctype.h +0 -140
- package/lib/clang/20/include/llvm_libc_wrappers/stdio.h +0 -80
- package/lib/clang/20/include/llvm_libc_wrappers/stdlib.h +0 -53
- package/lib/clang/20/include/llvm_libc_wrappers/string.h +0 -96
- /package/lib/clang/{20 → 22}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{20 → 22}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{20 → 22}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{20 → 22}/include/__clang_cuda_math.h +0 -0
- /package/lib/clang/{20 → 22}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{20 → 22}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{20 → 22}/include/__stdarg___gnuc_va_list.h +0 -0
- /package/lib/clang/{20 → 22}/include/__stdarg___va_copy.h +0 -0
- /package/lib/clang/{20 → 22}/include/__stdarg_header_macro.h +0 -0
- /package/lib/clang/{20 → 22}/include/__stdarg_va_copy.h +0 -0
- /package/lib/clang/{20 → 22}/include/__stdarg_va_list.h +0 -0
- /package/lib/clang/{20 → 22}/include/__stddef_header_macro.h +0 -0
- /package/lib/clang/{20 → 22}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{20 → 22}/include/__stddef_null.h +0 -0
- /package/lib/clang/{20 → 22}/include/__stddef_nullptr_t.h +0 -0
- /package/lib/clang/{20 → 22}/include/__stddef_offsetof.h +0 -0
- /package/lib/clang/{20 → 22}/include/__stddef_ptrdiff_t.h +0 -0
- /package/lib/clang/{20 → 22}/include/__stddef_rsize_t.h +0 -0
- /package/lib/clang/{20 → 22}/include/__stddef_size_t.h +0 -0
- /package/lib/clang/{20 → 22}/include/__stddef_unreachable.h +0 -0
- /package/lib/clang/{20 → 22}/include/__stddef_wchar_t.h +0 -0
- /package/lib/clang/{20 → 22}/include/__stddef_wint_t.h +0 -0
- /package/lib/clang/{20 → 22}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{20 → 22}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{20 → 22}/include/adcintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/adxintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/ammintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/amxfp16intrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/amxfp8intrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/amxmovrsintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/amxtf32intrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/arm64intr.h +0 -0
- /package/lib/clang/{20 → 22}/include/arm_bf16.h +0 -0
- /package/lib/clang/{20 → 22}/include/arm_cde.h +0 -0
- /package/lib/clang/{20 → 22}/include/arm_cmse.h +0 -0
- /package/lib/clang/{20 → 22}/include/arm_mve.h +0 -0
- /package/lib/clang/{20 → 22}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{20 → 22}/include/arm_vector_types.h +0 -0
- /package/lib/clang/{20 → 22}/include/armintr.h +0 -0
- /package/lib/clang/{20 → 22}/include/avx10_2_512minmaxintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/builtins.h +0 -0
- /package/lib/clang/{20 → 22}/include/cet.h +0 -0
- /package/lib/clang/{20 → 22}/include/cetintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/clwbintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/clzerointrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/cmpccxaddintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/crc32intrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{20 → 22}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{20 → 22}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{20 → 22}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{20 → 22}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{20 → 22}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{20 → 22}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{20 → 22}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{20 → 22}/include/hresetintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/htmintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/ia32intrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/intrin0.h +0 -0
- /package/lib/clang/{20 → 22}/include/inttypes.h +0 -0
- /package/lib/clang/{20 → 22}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/iso646.h +0 -0
- /package/lib/clang/{20 → 22}/include/larchintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/limits.h +0 -0
- /package/lib/clang/{20 → 22}/include/llvm_offload_wrappers/__llvm_offload.h +0 -0
- /package/lib/clang/{20 → 22}/include/llvm_offload_wrappers/__llvm_offload_device.h +0 -0
- /package/lib/clang/{20 → 22}/include/llvm_offload_wrappers/__llvm_offload_host.h +0 -0
- /package/lib/clang/{20 → 22}/include/lsxintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/lwpintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/mm3dnow.h +0 -0
- /package/lib/clang/{20 → 22}/include/mm_malloc.h +0 -0
- /package/lib/clang/{20 → 22}/include/movdirintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/msa.h +0 -0
- /package/lib/clang/{20 → 22}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/nmmintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
- /package/lib/clang/{20 → 22}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{20 → 22}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{20 → 22}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{20 → 22}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{20 → 22}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{20 → 22}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{20 → 22}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/pkuintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/popcntintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{20 → 22}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/ppc_wrappers/nmmintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/ppc_wrappers/smmintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/raointintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/riscv_bitmanip.h +0 -0
- /package/lib/clang/{20 → 22}/include/riscv_crypto.h +0 -0
- /package/lib/clang/{20 → 22}/include/riscv_ntlh.h +0 -0
- /package/lib/clang/{20 → 22}/include/rtmintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/s390intrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/serializeintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/sgxintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/sha512intrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/sm3intrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/sm4intrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/stdalign.h +0 -0
- /package/lib/clang/{20 → 22}/include/stdarg.h +0 -0
- /package/lib/clang/{20 → 22}/include/stdatomic.h +0 -0
- /package/lib/clang/{20 → 22}/include/stdbool.h +0 -0
- /package/lib/clang/{20 → 22}/include/stdckdint.h +0 -0
- /package/lib/clang/{20 → 22}/include/stddef.h +0 -0
- /package/lib/clang/{20 → 22}/include/stdnoreturn.h +0 -0
- /package/lib/clang/{20 → 22}/include/tbmintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/tgmath.h +0 -0
- /package/lib/clang/{20 → 22}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/uintrintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/unwind.h +0 -0
- /package/lib/clang/{20 → 22}/include/usermsrintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/vadefs.h +0 -0
- /package/lib/clang/{20 → 22}/include/varargs.h +0 -0
- /package/lib/clang/{20 → 22}/include/velintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{20 → 22}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{20 → 22}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/wasm_simd128.h +0 -0
- /package/lib/clang/{20 → 22}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/wmmintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/xtestintrin.h +0 -0
- /package/lib/clang/{20 → 22}/include/yvals_core.h +0 -0
- /package/lib/clang/{20 → 22}/include/zos_wrappers/builtins.h +0 -0
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# @cpp-linter/clang-tidy-win32-x64
|
|
2
2
|
|
|
3
|
-
The Windows x64 binary of clang-tidy from LLVM
|
|
3
|
+
The Windows x64 binary of clang-tidy from LLVM 22.1.8, for [`@cpp-linter/clang-tidy`](https://www.npmjs.com/package/@cpp-linter/clang-tidy).
|
|
4
4
|
|
|
5
5
|
Install `@cpp-linter/clang-tidy` instead of this package: npm picks the binary for your platform.
|
|
6
6
|
|
|
7
|
-
The binary is a static build from the release [`llvm-
|
|
7
|
+
The binary is a static build from the release [`llvm-22.1.8-3`](https://github.com/cpp-linter/clang-tools-static-binaries/releases/tag/llvm-22.1.8-3) of [cpp-linter/clang-tools-static-binaries](https://github.com/cpp-linter/clang-tools-static-binaries). LLVM is licensed under the Apache License v2.0 with LLVM Exceptions (see `LICENSE.TXT`).
|
package/bin/clang-tidy.exe
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: package/bin/clang-tidy.exe
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 71897600 bytes
|
|
4
|
+
sha256: 2d57d16ed4740b1399e70a17dad8f7b8f786cfeffc7756de2d0b5525b7676365
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/*===-- __clang_cuda_complex_builtins - CUDA impls of runtime complex fns ---===
|
|
2
|
+
*
|
|
3
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
*
|
|
7
|
+
*===-----------------------------------------------------------------------===
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef __CLANG_CUDA_COMPLEX_BUILTINS
|
|
11
|
+
#define __CLANG_CUDA_COMPLEX_BUILTINS
|
|
12
|
+
|
|
13
|
+
// This header defines __muldc3, __mulsc3, __divdc3, and __divsc3. These are
|
|
14
|
+
// libgcc functions that clang assumes are available when compiling c99 complex
|
|
15
|
+
// operations. (These implementations come from libc++, and have been modified
|
|
16
|
+
// to work with CUDA and OpenMP target offloading [in C and C++ mode].)
|
|
17
|
+
|
|
18
|
+
#pragma push_macro("__DEVICE__")
|
|
19
|
+
#if defined(__OPENMP_NVPTX__) || defined(__OPENMP_AMDGCN__)
|
|
20
|
+
#pragma omp declare target
|
|
21
|
+
#define __DEVICE__ __attribute__((noinline, nothrow, cold, weak))
|
|
22
|
+
#else
|
|
23
|
+
#define __DEVICE__ __device__ inline
|
|
24
|
+
#endif
|
|
25
|
+
|
|
26
|
+
#ifdef __NVPTX__
|
|
27
|
+
// FIXME: NVPTX should use generic builtins.
|
|
28
|
+
#define _SCALBNd __nv_scalbn
|
|
29
|
+
#define _SCALBNf __nv_scalbnf
|
|
30
|
+
#define _LOGBd __nv_logb
|
|
31
|
+
#define _LOGBf __nv_logbf
|
|
32
|
+
#else
|
|
33
|
+
#define _SCALBNd __builtin_scalbn
|
|
34
|
+
#define _SCALBNf __builtin_scalbnf
|
|
35
|
+
#define _LOGBd __builtin_logb
|
|
36
|
+
#define _LOGBf __builtin_logbf
|
|
37
|
+
#endif
|
|
38
|
+
|
|
39
|
+
#if defined(__cplusplus)
|
|
40
|
+
extern "C" {
|
|
41
|
+
#endif
|
|
42
|
+
|
|
43
|
+
__DEVICE__ double _Complex __muldc3(double __a, double __b, double __c,
|
|
44
|
+
double __d) {
|
|
45
|
+
double __ac = __a * __c;
|
|
46
|
+
double __bd = __b * __d;
|
|
47
|
+
double __ad = __a * __d;
|
|
48
|
+
double __bc = __b * __c;
|
|
49
|
+
double _Complex z;
|
|
50
|
+
__real__(z) = __ac - __bd;
|
|
51
|
+
__imag__(z) = __ad + __bc;
|
|
52
|
+
if (__builtin_isnan(__real__(z)) && __builtin_isnan(__imag__(z))) {
|
|
53
|
+
int __recalc = 0;
|
|
54
|
+
if (__builtin_isinf(__a) || __builtin_isinf(__b)) {
|
|
55
|
+
__a = __builtin_copysign(__builtin_isinf(__a) ? 1 : 0, __a);
|
|
56
|
+
__b = __builtin_copysign(__builtin_isinf(__b) ? 1 : 0, __b);
|
|
57
|
+
if (__builtin_isnan(__c))
|
|
58
|
+
__c = __builtin_copysign(0, __c);
|
|
59
|
+
if (__builtin_isnan(__d))
|
|
60
|
+
__d = __builtin_copysign(0, __d);
|
|
61
|
+
__recalc = 1;
|
|
62
|
+
}
|
|
63
|
+
if (__builtin_isinf(__c) || __builtin_isinf(__d)) {
|
|
64
|
+
__c = __builtin_copysign(__builtin_isinf(__c) ? 1 : 0, __c);
|
|
65
|
+
__d = __builtin_copysign(__builtin_isinf(__d) ? 1 : 0, __d);
|
|
66
|
+
if (__builtin_isnan(__a))
|
|
67
|
+
__a = __builtin_copysign(0, __a);
|
|
68
|
+
if (__builtin_isnan(__b))
|
|
69
|
+
__b = __builtin_copysign(0, __b);
|
|
70
|
+
__recalc = 1;
|
|
71
|
+
}
|
|
72
|
+
if (!__recalc && (__builtin_isinf(__ac) || __builtin_isinf(__bd) ||
|
|
73
|
+
__builtin_isinf(__ad) || __builtin_isinf(__bc))) {
|
|
74
|
+
if (__builtin_isnan(__a))
|
|
75
|
+
__a = __builtin_copysign(0, __a);
|
|
76
|
+
if (__builtin_isnan(__b))
|
|
77
|
+
__b = __builtin_copysign(0, __b);
|
|
78
|
+
if (__builtin_isnan(__c))
|
|
79
|
+
__c = __builtin_copysign(0, __c);
|
|
80
|
+
if (__builtin_isnan(__d))
|
|
81
|
+
__d = __builtin_copysign(0, __d);
|
|
82
|
+
__recalc = 1;
|
|
83
|
+
}
|
|
84
|
+
if (__recalc) {
|
|
85
|
+
// Can't use std::numeric_limits<double>::infinity() -- that doesn't have
|
|
86
|
+
// a device overload (and isn't constexpr before C++11, naturally).
|
|
87
|
+
__real__(z) = __builtin_huge_val() * (__a * __c - __b * __d);
|
|
88
|
+
__imag__(z) = __builtin_huge_val() * (__a * __d + __b * __c);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return z;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
__DEVICE__ float _Complex __mulsc3(float __a, float __b, float __c, float __d) {
|
|
95
|
+
float __ac = __a * __c;
|
|
96
|
+
float __bd = __b * __d;
|
|
97
|
+
float __ad = __a * __d;
|
|
98
|
+
float __bc = __b * __c;
|
|
99
|
+
float _Complex z;
|
|
100
|
+
__real__(z) = __ac - __bd;
|
|
101
|
+
__imag__(z) = __ad + __bc;
|
|
102
|
+
if (__builtin_isnan(__real__(z)) && __builtin_isnan(__imag__(z))) {
|
|
103
|
+
int __recalc = 0;
|
|
104
|
+
if (__builtin_isinf(__a) || __builtin_isinf(__b)) {
|
|
105
|
+
__a = __builtin_copysignf(__builtin_isinf(__a) ? 1 : 0, __a);
|
|
106
|
+
__b = __builtin_copysignf(__builtin_isinf(__b) ? 1 : 0, __b);
|
|
107
|
+
if (__builtin_isnan(__c))
|
|
108
|
+
__c = __builtin_copysignf(0, __c);
|
|
109
|
+
if (__builtin_isnan(__d))
|
|
110
|
+
__d = __builtin_copysignf(0, __d);
|
|
111
|
+
__recalc = 1;
|
|
112
|
+
}
|
|
113
|
+
if (__builtin_isinf(__c) || __builtin_isinf(__d)) {
|
|
114
|
+
__c = __builtin_copysignf(__builtin_isinf(__c) ? 1 : 0, __c);
|
|
115
|
+
__d = __builtin_copysignf(__builtin_isinf(__d) ? 1 : 0, __d);
|
|
116
|
+
if (__builtin_isnan(__a))
|
|
117
|
+
__a = __builtin_copysignf(0, __a);
|
|
118
|
+
if (__builtin_isnan(__b))
|
|
119
|
+
__b = __builtin_copysignf(0, __b);
|
|
120
|
+
__recalc = 1;
|
|
121
|
+
}
|
|
122
|
+
if (!__recalc && (__builtin_isinf(__ac) || __builtin_isinf(__bd) ||
|
|
123
|
+
__builtin_isinf(__ad) || __builtin_isinf(__bc))) {
|
|
124
|
+
if (__builtin_isnan(__a))
|
|
125
|
+
__a = __builtin_copysignf(0, __a);
|
|
126
|
+
if (__builtin_isnan(__b))
|
|
127
|
+
__b = __builtin_copysignf(0, __b);
|
|
128
|
+
if (__builtin_isnan(__c))
|
|
129
|
+
__c = __builtin_copysignf(0, __c);
|
|
130
|
+
if (__builtin_isnan(__d))
|
|
131
|
+
__d = __builtin_copysignf(0, __d);
|
|
132
|
+
__recalc = 1;
|
|
133
|
+
}
|
|
134
|
+
if (__recalc) {
|
|
135
|
+
__real__(z) = __builtin_huge_valf() * (__a * __c - __b * __d);
|
|
136
|
+
__imag__(z) = __builtin_huge_valf() * (__a * __d + __b * __c);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return z;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
__DEVICE__ double _Complex __divdc3(double __a, double __b, double __c,
|
|
143
|
+
double __d) {
|
|
144
|
+
int __ilogbw = 0;
|
|
145
|
+
// Can't use std::max, because that's defined in <algorithm>, and we don't
|
|
146
|
+
// want to pull that in for every compile. The CUDA headers define
|
|
147
|
+
// ::max(float, float) and ::max(double, double), which is sufficient for us.
|
|
148
|
+
double __logbw =
|
|
149
|
+
_LOGBd(__builtin_fmax(__builtin_fabs(__c), __builtin_fabs(__d)));
|
|
150
|
+
if (__builtin_isfinite(__logbw)) {
|
|
151
|
+
__ilogbw = (int)__logbw;
|
|
152
|
+
__c = _SCALBNd(__c, -__ilogbw);
|
|
153
|
+
__d = _SCALBNd(__d, -__ilogbw);
|
|
154
|
+
}
|
|
155
|
+
double __denom = __c * __c + __d * __d;
|
|
156
|
+
double _Complex z;
|
|
157
|
+
__real__(z) = _SCALBNd((__a * __c + __b * __d) / __denom, -__ilogbw);
|
|
158
|
+
__imag__(z) = _SCALBNd((__b * __c - __a * __d) / __denom, -__ilogbw);
|
|
159
|
+
if (__builtin_isnan(__real__(z)) && __builtin_isnan(__imag__(z))) {
|
|
160
|
+
if ((__denom == 0.0) && (!__builtin_isnan(__a) || !__builtin_isnan(__b))) {
|
|
161
|
+
__real__(z) = __builtin_copysign(__builtin_huge_val(), __c) * __a;
|
|
162
|
+
__imag__(z) = __builtin_copysign(__builtin_huge_val(), __c) * __b;
|
|
163
|
+
} else if ((__builtin_isinf(__a) || __builtin_isinf(__b)) &&
|
|
164
|
+
__builtin_isfinite(__c) && __builtin_isfinite(__d)) {
|
|
165
|
+
__a = __builtin_copysign(__builtin_isinf(__a) ? 1.0 : 0.0, __a);
|
|
166
|
+
__b = __builtin_copysign(__builtin_isinf(__b) ? 1.0 : 0.0, __b);
|
|
167
|
+
__real__(z) = __builtin_huge_val() * (__a * __c + __b * __d);
|
|
168
|
+
__imag__(z) = __builtin_huge_val() * (__b * __c - __a * __d);
|
|
169
|
+
} else if (__builtin_isinf(__logbw) && __logbw > 0.0 &&
|
|
170
|
+
__builtin_isfinite(__a) && __builtin_isfinite(__b)) {
|
|
171
|
+
__c = __builtin_copysign(__builtin_isinf(__c) ? 1.0 : 0.0, __c);
|
|
172
|
+
__d = __builtin_copysign(__builtin_isinf(__d) ? 1.0 : 0.0, __d);
|
|
173
|
+
__real__(z) = 0.0 * (__a * __c + __b * __d);
|
|
174
|
+
__imag__(z) = 0.0 * (__b * __c - __a * __d);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return z;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
__DEVICE__ float _Complex __divsc3(float __a, float __b, float __c, float __d) {
|
|
181
|
+
int __ilogbw = 0;
|
|
182
|
+
float __logbw =
|
|
183
|
+
_LOGBf(__builtin_fmaxf(__builtin_fabsf(__c), __builtin_fabsf(__d)));
|
|
184
|
+
if (__builtin_isfinite(__logbw)) {
|
|
185
|
+
__ilogbw = (int)__logbw;
|
|
186
|
+
__c = _SCALBNf(__c, -__ilogbw);
|
|
187
|
+
__d = _SCALBNf(__d, -__ilogbw);
|
|
188
|
+
}
|
|
189
|
+
float __denom = __c * __c + __d * __d;
|
|
190
|
+
float _Complex z;
|
|
191
|
+
__real__(z) = _SCALBNf((__a * __c + __b * __d) / __denom, -__ilogbw);
|
|
192
|
+
__imag__(z) = _SCALBNf((__b * __c - __a * __d) / __denom, -__ilogbw);
|
|
193
|
+
if (__builtin_isnan(__real__(z)) && __builtin_isnan(__imag__(z))) {
|
|
194
|
+
if ((__denom == 0) && (!__builtin_isnan(__a) || !__builtin_isnan(__b))) {
|
|
195
|
+
__real__(z) = __builtin_copysignf(__builtin_huge_valf(), __c) * __a;
|
|
196
|
+
__imag__(z) = __builtin_copysignf(__builtin_huge_valf(), __c) * __b;
|
|
197
|
+
} else if ((__builtin_isinf(__a) || __builtin_isinf(__b)) &&
|
|
198
|
+
__builtin_isfinite(__c) && __builtin_isfinite(__d)) {
|
|
199
|
+
__a = __builtin_copysignf(__builtin_isinf(__a) ? 1 : 0, __a);
|
|
200
|
+
__b = __builtin_copysignf(__builtin_isinf(__b) ? 1 : 0, __b);
|
|
201
|
+
__real__(z) = __builtin_huge_valf() * (__a * __c + __b * __d);
|
|
202
|
+
__imag__(z) = __builtin_huge_valf() * (__b * __c - __a * __d);
|
|
203
|
+
} else if (__builtin_isinf(__logbw) && __logbw > 0 &&
|
|
204
|
+
__builtin_isfinite(__a) && __builtin_isfinite(__b)) {
|
|
205
|
+
__c = __builtin_copysignf(__builtin_isinf(__c) ? 1 : 0, __c);
|
|
206
|
+
__d = __builtin_copysignf(__builtin_isinf(__d) ? 1 : 0, __d);
|
|
207
|
+
__real__(z) = 0 * (__a * __c + __b * __d);
|
|
208
|
+
__imag__(z) = 0 * (__b * __c - __a * __d);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
return z;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
#if defined(__cplusplus)
|
|
215
|
+
} // extern "C"
|
|
216
|
+
#endif
|
|
217
|
+
|
|
218
|
+
#undef _SCALBNd
|
|
219
|
+
#undef _SCALBNf
|
|
220
|
+
#undef _LOGBd
|
|
221
|
+
#undef _LOGBf
|
|
222
|
+
|
|
223
|
+
#if defined(__OPENMP_NVPTX__) || defined(__OPENMP_AMDGCN__)
|
|
224
|
+
#pragma omp end declare target
|
|
225
|
+
#endif
|
|
226
|
+
|
|
227
|
+
#pragma pop_macro("__DEVICE__")
|
|
228
|
+
|
|
229
|
+
#endif // __CLANG_CUDA_COMPLEX_BUILTINS
|
|
@@ -528,7 +528,7 @@ __DEVICE__ float __tanf(float __a) { return __nv_fast_tanf(__a); }
|
|
|
528
528
|
__DEVICE__ void __threadfence(void) { __nvvm_membar_gl(); }
|
|
529
529
|
__DEVICE__ void __threadfence_block(void) { __nvvm_membar_cta(); };
|
|
530
530
|
__DEVICE__ void __threadfence_system(void) { __nvvm_membar_sys(); };
|
|
531
|
-
__DEVICE__ void __trap(void) {
|
|
531
|
+
__DEVICE__ __attribute__((noreturn)) void __trap(void) { __builtin_trap(); }
|
|
532
532
|
__DEVICE__ unsigned short
|
|
533
533
|
__usAtomicCAS(unsigned short *__p, unsigned short __cmp, unsigned short __v) {
|
|
534
534
|
return __nvvm_atom_cas_gen_us(__p, __cmp, __v);
|
|
@@ -479,6 +479,293 @@ inline __device__ unsigned __funnelshift_rc(unsigned low32, unsigned high32,
|
|
|
479
479
|
return ret;
|
|
480
480
|
}
|
|
481
481
|
|
|
482
|
+
#if defined(__cplusplus) && (__cplusplus >= 201103L)
|
|
483
|
+
|
|
484
|
+
#pragma push_macro("__INTRINSIC_LOAD")
|
|
485
|
+
#define __INTRINSIC_LOAD(__FnName, __AsmOp, __DeclType, __TmpType, __AsmType, \
|
|
486
|
+
__Clobber) \
|
|
487
|
+
inline __device__ __DeclType __FnName(const __DeclType *__ptr) { \
|
|
488
|
+
__TmpType __ret; \
|
|
489
|
+
asm(__AsmOp " %0, [%1];" : __AsmType(__ret) : "l"(__ptr)__Clobber); \
|
|
490
|
+
return (__DeclType)__ret; \
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
#pragma push_macro("__INTRINSIC_LOAD2")
|
|
494
|
+
#define __INTRINSIC_LOAD2(__FnName, __AsmOp, __DeclType, __TmpType, __AsmType, \
|
|
495
|
+
__Clobber) \
|
|
496
|
+
inline __device__ __DeclType __FnName(const __DeclType *__ptr) { \
|
|
497
|
+
__DeclType __ret; \
|
|
498
|
+
__TmpType __tmp; \
|
|
499
|
+
asm(__AsmOp " {%0,%1}, [%2];" \
|
|
500
|
+
: __AsmType(__tmp.x), __AsmType(__tmp.y) \
|
|
501
|
+
: "l"(__ptr)__Clobber); \
|
|
502
|
+
using __ElementType = decltype(__ret.x); \
|
|
503
|
+
__ret.x = (__ElementType)(__tmp.x); \
|
|
504
|
+
__ret.y = (__ElementType)__tmp.y; \
|
|
505
|
+
return __ret; \
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
#pragma push_macro("__INTRINSIC_LOAD4")
|
|
509
|
+
#define __INTRINSIC_LOAD4(__FnName, __AsmOp, __DeclType, __TmpType, __AsmType, \
|
|
510
|
+
__Clobber) \
|
|
511
|
+
inline __device__ __DeclType __FnName(const __DeclType *__ptr) { \
|
|
512
|
+
__DeclType __ret; \
|
|
513
|
+
__TmpType __tmp; \
|
|
514
|
+
asm(__AsmOp " {%0,%1,%2,%3}, [%4];" \
|
|
515
|
+
: __AsmType(__tmp.x), __AsmType(__tmp.y), __AsmType(__tmp.z), \
|
|
516
|
+
__AsmType(__tmp.w) \
|
|
517
|
+
: "l"(__ptr)__Clobber); \
|
|
518
|
+
using __ElementType = decltype(__ret.x); \
|
|
519
|
+
__ret.x = (__ElementType)__tmp.x; \
|
|
520
|
+
__ret.y = (__ElementType)__tmp.y; \
|
|
521
|
+
__ret.z = (__ElementType)__tmp.z; \
|
|
522
|
+
__ret.w = (__ElementType)__tmp.w; \
|
|
523
|
+
return __ret; \
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
__INTRINSIC_LOAD(__ldcg, "ld.global.cg.s8", char, unsigned int, "=r", );
|
|
527
|
+
__INTRINSIC_LOAD(__ldcg, "ld.global.cg.s8", signed char, unsigned int, "=r", );
|
|
528
|
+
__INTRINSIC_LOAD(__ldcg, "ld.global.cg.s16", short, unsigned short, "=h", );
|
|
529
|
+
__INTRINSIC_LOAD(__ldcg, "ld.global.cg.s32", int, unsigned int, "=r", );
|
|
530
|
+
__INTRINSIC_LOAD(__ldcg, "ld.global.cg.s64", long long, unsigned long long,
|
|
531
|
+
"=l", );
|
|
532
|
+
|
|
533
|
+
__INTRINSIC_LOAD2(__ldcg, "ld.global.cg.v2.s8", char2, int2, "=r", );
|
|
534
|
+
__INTRINSIC_LOAD4(__ldcg, "ld.global.cg.v4.s8", char4, int4, "=r", );
|
|
535
|
+
__INTRINSIC_LOAD2(__ldcg, "ld.global.cg.v2.s16", short2, short2, "=h", );
|
|
536
|
+
__INTRINSIC_LOAD4(__ldcg, "ld.global.cg.v4.s16", short4, short4, "=h", );
|
|
537
|
+
__INTRINSIC_LOAD2(__ldcg, "ld.global.cg.v2.s32", int2, int2, "=r", );
|
|
538
|
+
__INTRINSIC_LOAD4(__ldcg, "ld.global.cg.v4.s32", int4, int4, "=r", );
|
|
539
|
+
__INTRINSIC_LOAD2(__ldcg, "ld.global.cg.v2.s64 ", longlong2, longlong2, "=l", );
|
|
540
|
+
|
|
541
|
+
__INTRINSIC_LOAD(__ldcg, "ld.global.cg.u8", unsigned char, unsigned int,
|
|
542
|
+
"=r", );
|
|
543
|
+
__INTRINSIC_LOAD(__ldcg, "ld.global.cg.u16", unsigned short, unsigned short,
|
|
544
|
+
"=h", );
|
|
545
|
+
__INTRINSIC_LOAD(__ldcg, "ld.global.cg.u32", unsigned int, unsigned int,
|
|
546
|
+
"=r", );
|
|
547
|
+
__INTRINSIC_LOAD(__ldcg, "ld.global.cg.u64", unsigned long long,
|
|
548
|
+
unsigned long long, "=l", );
|
|
549
|
+
|
|
550
|
+
__INTRINSIC_LOAD2(__ldcg, "ld.global.cg.v2.u8", uchar2, int2, "=r", );
|
|
551
|
+
__INTRINSIC_LOAD4(__ldcg, "ld.global.cg.v4.u8", uchar4, int4, "=r", );
|
|
552
|
+
__INTRINSIC_LOAD2(__ldcg, "ld.global.cg.v2.u16", ushort2, ushort2, "=h", );
|
|
553
|
+
__INTRINSIC_LOAD4(__ldcg, "ld.global.cg.v4.u16", ushort4, ushort4, "=h", );
|
|
554
|
+
__INTRINSIC_LOAD2(__ldcg, "ld.global.cg.v2.u32", uint2, uint2, "=r", );
|
|
555
|
+
__INTRINSIC_LOAD4(__ldcg, "ld.global.cg.v4.u32", uint4, uint4, "=r", );
|
|
556
|
+
__INTRINSIC_LOAD2(__ldcg, "ld.global.cg.v2.u64", ulonglong2, ulonglong2,
|
|
557
|
+
"=l", );
|
|
558
|
+
|
|
559
|
+
__INTRINSIC_LOAD(__ldcg, "ld.global.cg.f32", float, float, "=f", );
|
|
560
|
+
__INTRINSIC_LOAD(__ldcg, "ld.global.cg.f64", double, double, "=d", );
|
|
561
|
+
__INTRINSIC_LOAD2(__ldcg, "ld.global.cg.v2.f32", float2, float2, "=f", );
|
|
562
|
+
__INTRINSIC_LOAD4(__ldcg, "ld.global.cg.v4.f32", float4, float4, "=f", );
|
|
563
|
+
__INTRINSIC_LOAD2(__ldcg, "ld.global.cg.v2.f64", double2, double2, "=d", );
|
|
564
|
+
|
|
565
|
+
inline __device__ long __ldcg(const long *__ptr) {
|
|
566
|
+
unsigned long __ret;
|
|
567
|
+
if (sizeof(long) == 8) {
|
|
568
|
+
asm("ld.global.cg.s64 %0, [%1];" : "=l"(__ret) : "l"(__ptr));
|
|
569
|
+
} else {
|
|
570
|
+
asm("ld.global.cg.s32 %0, [%1];" : "=r"(__ret) : "l"(__ptr));
|
|
571
|
+
}
|
|
572
|
+
return (long)__ret;
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
__INTRINSIC_LOAD(__ldcv, "ld.global.cv.u8", unsigned char, unsigned int,
|
|
576
|
+
"=r", : "memory");
|
|
577
|
+
__INTRINSIC_LOAD(__ldcv, "ld.global.cv.u16", unsigned short, unsigned short,
|
|
578
|
+
"=h", : "memory");
|
|
579
|
+
__INTRINSIC_LOAD(__ldcv, "ld.global.cv.u32", unsigned int, unsigned int,
|
|
580
|
+
"=r", : "memory");
|
|
581
|
+
__INTRINSIC_LOAD(__ldcv, "ld.global.cv.u64", unsigned long long,
|
|
582
|
+
unsigned long long, "=l", : "memory");
|
|
583
|
+
|
|
584
|
+
__INTRINSIC_LOAD(__ldcv, "ld.global.cv.s8", char, unsigned int,
|
|
585
|
+
"=r", : "memory");
|
|
586
|
+
__INTRINSIC_LOAD(__ldcv, "ld.global.cv.s8", signed char, unsigned int,
|
|
587
|
+
"=r", : "memory");
|
|
588
|
+
__INTRINSIC_LOAD(__ldcv, "ld.global.cv.s16", short, unsigned short,
|
|
589
|
+
"=h", : "memory");
|
|
590
|
+
__INTRINSIC_LOAD(__ldcv, "ld.global.cv.s32", int, unsigned int,
|
|
591
|
+
"=r", : "memory");
|
|
592
|
+
__INTRINSIC_LOAD(__ldcv, "ld.global.cv.s64", long long, unsigned long long,
|
|
593
|
+
"=l", : "memory");
|
|
594
|
+
|
|
595
|
+
__INTRINSIC_LOAD2(__ldcv, "ld.global.cv.v2.u8", uchar2, uint2,
|
|
596
|
+
"=r", : "memory");
|
|
597
|
+
__INTRINSIC_LOAD4(__ldcv, "ld.global.cv.v4.u8", uchar4, uint4,
|
|
598
|
+
"=r", : "memory");
|
|
599
|
+
__INTRINSIC_LOAD2(__ldcv, "ld.global.cv.v2.u16", ushort2, ushort2,
|
|
600
|
+
"=h", : "memory");
|
|
601
|
+
__INTRINSIC_LOAD4(__ldcv, "ld.global.cv.v4.u16", ushort4, ushort4,
|
|
602
|
+
"=h", : "memory");
|
|
603
|
+
__INTRINSIC_LOAD2(__ldcv, "ld.global.cv.v2.u32", uint2, uint2,
|
|
604
|
+
"=r", : "memory");
|
|
605
|
+
__INTRINSIC_LOAD4(__ldcv, "ld.global.cv.v4.u32", uint4, uint4,
|
|
606
|
+
"=r", : "memory");
|
|
607
|
+
__INTRINSIC_LOAD2(__ldcv, "ld.global.cv.v2.u64", ulonglong2, ulonglong2,
|
|
608
|
+
"=l", : "memory");
|
|
609
|
+
|
|
610
|
+
__INTRINSIC_LOAD2(__ldcv, "ld.global.cv.v2.s8", char2, int2, "=r", : "memory");
|
|
611
|
+
__INTRINSIC_LOAD4(__ldcv, "ld.global.cv.v4.s8", char4, int4, "=r", : "memory");
|
|
612
|
+
__INTRINSIC_LOAD2(__ldcv, "ld.global.cv.v2.s16", short2, short2,
|
|
613
|
+
"=h", : "memory");
|
|
614
|
+
__INTRINSIC_LOAD4(__ldcv, "ld.global.cv.v4.s16", short4, short4,
|
|
615
|
+
"=h", : "memory");
|
|
616
|
+
__INTRINSIC_LOAD2(__ldcv, "ld.global.cv.v2.s32", int2, int2, "=r", : "memory");
|
|
617
|
+
__INTRINSIC_LOAD4(__ldcv, "ld.global.cv.v4.s32", int4, int4, "=r", : "memory");
|
|
618
|
+
__INTRINSIC_LOAD2(__ldcv, "ld.global.cv.v2.s64", longlong2, longlong2,
|
|
619
|
+
"=l", : "memory");
|
|
620
|
+
|
|
621
|
+
__INTRINSIC_LOAD(__ldcv, "ld.global.cv.f32", float, float, "=f", : "memory");
|
|
622
|
+
__INTRINSIC_LOAD(__ldcv, "ld.global.cv.f64", double, double, "=d", : "memory");
|
|
623
|
+
|
|
624
|
+
__INTRINSIC_LOAD2(__ldcv, "ld.global.cv.v2.f32", float2, float2,
|
|
625
|
+
"=f", : "memory");
|
|
626
|
+
__INTRINSIC_LOAD4(__ldcv, "ld.global.cv.v4.f32", float4, float4,
|
|
627
|
+
"=f", : "memory");
|
|
628
|
+
__INTRINSIC_LOAD2(__ldcv, "ld.global.cv.v2.f64", double2, double2,
|
|
629
|
+
"=d", : "memory");
|
|
630
|
+
|
|
631
|
+
inline __device__ long __ldcv(const long *__ptr) {
|
|
632
|
+
unsigned long __ret;
|
|
633
|
+
if (sizeof(long) == 8) {
|
|
634
|
+
asm("ld.global.cv.s64 %0, [%1];" : "=l"(__ret) : "l"(__ptr));
|
|
635
|
+
} else {
|
|
636
|
+
asm("ld.global.cv.s32 %0, [%1];" : "=r"(__ret) : "l"(__ptr));
|
|
637
|
+
}
|
|
638
|
+
return (long)__ret;
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
__INTRINSIC_LOAD(__ldcs, "ld.global.cs.s8", char, unsigned int, "=r", );
|
|
642
|
+
__INTRINSIC_LOAD(__ldcs, "ld.global.cs.s8", signed char, signed int, "=r", );
|
|
643
|
+
__INTRINSIC_LOAD(__ldcs, "ld.global.cs.s16", short, unsigned short, "=h", );
|
|
644
|
+
__INTRINSIC_LOAD(__ldcs, "ld.global.cs.s32", int, unsigned int, "=r", );
|
|
645
|
+
__INTRINSIC_LOAD(__ldcs, "ld.global.cs.s64", long long, unsigned long long,
|
|
646
|
+
"=l", );
|
|
647
|
+
|
|
648
|
+
__INTRINSIC_LOAD2(__ldcs, "ld.global.cs.v2.s8", char2, int2, "=r", );
|
|
649
|
+
__INTRINSIC_LOAD4(__ldcs, "ld.global.cs.v4.s8", char4, int4, "=r", );
|
|
650
|
+
__INTRINSIC_LOAD2(__ldcs, "ld.global.cs.v2.s16", short2, short2, "=h", );
|
|
651
|
+
__INTRINSIC_LOAD4(__ldcs, "ld.global.cs.v4.s16", short4, short4, "=h", );
|
|
652
|
+
__INTRINSIC_LOAD2(__ldcs, "ld.global.cs.v2.s32", int2, int2, "=r", );
|
|
653
|
+
__INTRINSIC_LOAD4(__ldcs, "ld.global.cs.v4.s32", int4, int4, "=r", );
|
|
654
|
+
__INTRINSIC_LOAD2(__ldcs, "ld.global.cs.v2.s64", longlong2, longlong2, "=l", );
|
|
655
|
+
|
|
656
|
+
__INTRINSIC_LOAD(__ldcs, "ld.global.cs.u8", unsigned char, unsigned int,
|
|
657
|
+
"=r", );
|
|
658
|
+
__INTRINSIC_LOAD(__ldcs, "ld.global.cs.u16", unsigned short, unsigned short,
|
|
659
|
+
"=h", );
|
|
660
|
+
__INTRINSIC_LOAD(__ldcs, "ld.global.cs.u32", unsigned int, unsigned int,
|
|
661
|
+
"=r", );
|
|
662
|
+
__INTRINSIC_LOAD(__ldcs, "ld.global.cs.u64", unsigned long long,
|
|
663
|
+
unsigned long long, "=l", );
|
|
664
|
+
|
|
665
|
+
__INTRINSIC_LOAD2(__ldcs, "ld.global.cs.v2.u8", uchar2, uint2, "=r", );
|
|
666
|
+
__INTRINSIC_LOAD4(__ldcs, "ld.global.cs.v4.u8", uchar4, uint4, "=r", );
|
|
667
|
+
__INTRINSIC_LOAD2(__ldcs, "ld.global.cs.v2.u16", ushort2, ushort2, "=h", );
|
|
668
|
+
__INTRINSIC_LOAD4(__ldcs, "ld.global.cs.v4.u16", ushort4, ushort4, "=h", );
|
|
669
|
+
__INTRINSIC_LOAD2(__ldcs, "ld.global.cs.v2.u32", uint2, uint2, "=r", );
|
|
670
|
+
__INTRINSIC_LOAD4(__ldcs, "ld.global.cs.v4.u32", uint4, uint4, "=r", );
|
|
671
|
+
__INTRINSIC_LOAD2(__ldcs, "ld.global.cs.v2.u64", ulonglong2, ulonglong2,
|
|
672
|
+
"=l", );
|
|
673
|
+
|
|
674
|
+
__INTRINSIC_LOAD(__ldcs, "ld.global.cs.f32", float, float, "=f", );
|
|
675
|
+
__INTRINSIC_LOAD(__ldcs, "ld.global.cs.f64", double, double, "=d", );
|
|
676
|
+
__INTRINSIC_LOAD2(__ldcs, "ld.global.cs.v2.f32", float2, float2, "=f", );
|
|
677
|
+
__INTRINSIC_LOAD4(__ldcs, "ld.global.cs.v4.f32", float4, float4, "=f", );
|
|
678
|
+
__INTRINSIC_LOAD2(__ldcs, "ld.global.cs.v2.f64", double2, double2, "=d", );
|
|
679
|
+
|
|
680
|
+
#pragma pop_macro("__INTRINSIC_LOAD")
|
|
681
|
+
#pragma pop_macro("__INTRINSIC_LOAD2")
|
|
682
|
+
#pragma pop_macro("__INTRINSIC_LOAD4")
|
|
683
|
+
|
|
684
|
+
inline __device__ long __ldcs(const long *__ptr) {
|
|
685
|
+
unsigned long __ret;
|
|
686
|
+
if (sizeof(long) == 8) {
|
|
687
|
+
asm("ld.global.cs.s64 %0, [%1];" : "=l"(__ret) : "l"(__ptr));
|
|
688
|
+
} else {
|
|
689
|
+
asm("ld.global.cs.s32 %0, [%1];" : "=r"(__ret) : "l"(__ptr));
|
|
690
|
+
}
|
|
691
|
+
return (long)__ret;
|
|
692
|
+
}
|
|
693
|
+
|
|
694
|
+
#pragma push_macro("__INTRINSIC_STORE")
|
|
695
|
+
#define __INTRINSIC_STORE(__FnName, __AsmOp, __DeclType, __TmpType, __AsmType) \
|
|
696
|
+
inline __device__ void __FnName(__DeclType *__ptr, __DeclType __value) { \
|
|
697
|
+
__TmpType __tmp = (__TmpType)__value; \
|
|
698
|
+
asm(__AsmOp " [%0], %1;" ::"l"(__ptr), __AsmType(__tmp) : "memory"); \
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
#pragma push_macro("__INTRINSIC_STORE2")
|
|
702
|
+
#define __INTRINSIC_STORE2(__FnName, __AsmOp, __DeclType, __TmpType, \
|
|
703
|
+
__AsmType) \
|
|
704
|
+
inline __device__ void __FnName(__DeclType *__ptr, __DeclType __value) { \
|
|
705
|
+
__TmpType __tmp; \
|
|
706
|
+
using __ElementType = decltype(__tmp.x); \
|
|
707
|
+
__tmp.x = (__ElementType)(__value.x); \
|
|
708
|
+
__tmp.y = (__ElementType)(__value.y); \
|
|
709
|
+
asm(__AsmOp " [%0], {%1,%2};" ::"l"(__ptr), __AsmType(__tmp.x), \
|
|
710
|
+
__AsmType(__tmp.y) \
|
|
711
|
+
: "memory"); \
|
|
712
|
+
}
|
|
713
|
+
|
|
714
|
+
#pragma push_macro("__INTRINSIC_STORE4")
|
|
715
|
+
#define __INTRINSIC_STORE4(__FnName, __AsmOp, __DeclType, __TmpType, \
|
|
716
|
+
__AsmType) \
|
|
717
|
+
inline __device__ void __FnName(__DeclType *__ptr, __DeclType __value) { \
|
|
718
|
+
__TmpType __tmp; \
|
|
719
|
+
using __ElementType = decltype(__tmp.x); \
|
|
720
|
+
__tmp.x = (__ElementType)(__value.x); \
|
|
721
|
+
__tmp.y = (__ElementType)(__value.y); \
|
|
722
|
+
__tmp.z = (__ElementType)(__value.z); \
|
|
723
|
+
__tmp.w = (__ElementType)(__value.w); \
|
|
724
|
+
asm(__AsmOp " [%0], {%1,%2,%3,%4};" ::"l"(__ptr), __AsmType(__tmp.x), \
|
|
725
|
+
__AsmType(__tmp.y), __AsmType(__tmp.z), __AsmType(__tmp.w) \
|
|
726
|
+
: "memory"); \
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
__INTRINSIC_STORE(__stwt, "st.global.wt.s8", char, int, "r");
|
|
730
|
+
__INTRINSIC_STORE(__stwt, "st.global.wt.s8", signed char, int, "r");
|
|
731
|
+
__INTRINSIC_STORE(__stwt, "st.global.wt.s16", short, short, "h");
|
|
732
|
+
__INTRINSIC_STORE(__stwt, "st.global.wt.s32", int, int, "r");
|
|
733
|
+
__INTRINSIC_STORE(__stwt, "st.global.wt.s64", long long, long long, "l");
|
|
734
|
+
|
|
735
|
+
__INTRINSIC_STORE2(__stwt, "st.global.wt.v2.s8", char2, int2, "r");
|
|
736
|
+
__INTRINSIC_STORE4(__stwt, "st.global.wt.v4.s8", char4, int4, "r");
|
|
737
|
+
__INTRINSIC_STORE2(__stwt, "st.global.wt.v2.s16", short2, short2, "h");
|
|
738
|
+
__INTRINSIC_STORE4(__stwt, "st.global.wt.v4.s16", short4, short4, "h");
|
|
739
|
+
__INTRINSIC_STORE2(__stwt, "st.global.wt.v2.s32", int2, int2, "r");
|
|
740
|
+
__INTRINSIC_STORE4(__stwt, "st.global.wt.v4.s32", int4, int4, "r");
|
|
741
|
+
__INTRINSIC_STORE2(__stwt, "st.global.wt.v2.s64", longlong2, longlong2, "l");
|
|
742
|
+
|
|
743
|
+
__INTRINSIC_STORE(__stwt, "st.global.wt.u8", unsigned char, int, "r");
|
|
744
|
+
__INTRINSIC_STORE(__stwt, "st.global.wt.u16", unsigned short, unsigned short,
|
|
745
|
+
"h");
|
|
746
|
+
__INTRINSIC_STORE(__stwt, "st.global.wt.u32", unsigned int, unsigned int, "r");
|
|
747
|
+
__INTRINSIC_STORE(__stwt, "st.global.wt.u64", unsigned long long,
|
|
748
|
+
unsigned long long, "l");
|
|
749
|
+
|
|
750
|
+
__INTRINSIC_STORE2(__stwt, "st.global.wt.v2.u8", uchar2, uchar2, "r");
|
|
751
|
+
__INTRINSIC_STORE4(__stwt, "st.global.wt.v4.u8", uchar4, uint4, "r");
|
|
752
|
+
__INTRINSIC_STORE2(__stwt, "st.global.wt.v2.u16", ushort2, ushort2, "h");
|
|
753
|
+
__INTRINSIC_STORE4(__stwt, "st.global.wt.v4.u16", ushort4, ushort4, "h");
|
|
754
|
+
__INTRINSIC_STORE2(__stwt, "st.global.wt.v2.u32", uint2, uint2, "r");
|
|
755
|
+
__INTRINSIC_STORE4(__stwt, "st.global.wt.v4.u32", uint4, uint4, "r");
|
|
756
|
+
__INTRINSIC_STORE2(__stwt, "st.global.wt.v2.u64", ulonglong2, ulonglong2, "l");
|
|
757
|
+
|
|
758
|
+
__INTRINSIC_STORE(__stwt, "st.global.wt.f32", float, float, "f");
|
|
759
|
+
__INTRINSIC_STORE(__stwt, "st.global.wt.f64", double, double, "d");
|
|
760
|
+
__INTRINSIC_STORE2(__stwt, "st.global.wt.v2.f32", float2, float2, "f");
|
|
761
|
+
__INTRINSIC_STORE4(__stwt, "st.global.wt.v4.f32", float4, float4, "f");
|
|
762
|
+
__INTRINSIC_STORE2(__stwt, "st.global.wt.v2.f64", double2, double2, "d");
|
|
763
|
+
|
|
764
|
+
#pragma pop_macro("__INTRINSIC_STORE")
|
|
765
|
+
#pragma pop_macro("__INTRINSIC_STORE2")
|
|
766
|
+
#pragma pop_macro("__INTRINSIC_STORE4")
|
|
767
|
+
|
|
768
|
+
#endif // defined(__cplusplus) && (__cplusplus >= 201103L)
|
|
482
769
|
#endif // !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 320
|
|
483
770
|
|
|
484
771
|
#if CUDA_VERSION >= 11000
|
|
@@ -515,32 +802,32 @@ __device__ inline cuuint32_t __nvvm_get_smem_pointer(void *__ptr) {
|
|
|
515
802
|
#if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 800
|
|
516
803
|
__device__ inline unsigned __reduce_add_sync(unsigned __mask,
|
|
517
804
|
unsigned __value) {
|
|
518
|
-
return __nvvm_redux_sync_add(
|
|
805
|
+
return __nvvm_redux_sync_add(__value, __mask);
|
|
519
806
|
}
|
|
520
807
|
__device__ inline unsigned __reduce_min_sync(unsigned __mask,
|
|
521
808
|
unsigned __value) {
|
|
522
|
-
return __nvvm_redux_sync_umin(
|
|
809
|
+
return __nvvm_redux_sync_umin(__value, __mask);
|
|
523
810
|
}
|
|
524
811
|
__device__ inline unsigned __reduce_max_sync(unsigned __mask,
|
|
525
812
|
unsigned __value) {
|
|
526
|
-
return __nvvm_redux_sync_umax(
|
|
813
|
+
return __nvvm_redux_sync_umax(__value, __mask);
|
|
527
814
|
}
|
|
528
815
|
__device__ inline int __reduce_min_sync(unsigned __mask, int __value) {
|
|
529
|
-
return __nvvm_redux_sync_min(
|
|
816
|
+
return __nvvm_redux_sync_min(__value, __mask);
|
|
530
817
|
}
|
|
531
818
|
__device__ inline int __reduce_max_sync(unsigned __mask, int __value) {
|
|
532
|
-
return __nvvm_redux_sync_max(
|
|
819
|
+
return __nvvm_redux_sync_max(__value, __mask);
|
|
533
820
|
}
|
|
534
821
|
__device__ inline unsigned __reduce_or_sync(unsigned __mask, unsigned __value) {
|
|
535
|
-
return __nvvm_redux_sync_or(
|
|
822
|
+
return __nvvm_redux_sync_or(__value, __mask);
|
|
536
823
|
}
|
|
537
824
|
__device__ inline unsigned __reduce_and_sync(unsigned __mask,
|
|
538
825
|
unsigned __value) {
|
|
539
|
-
return __nvvm_redux_sync_and(
|
|
826
|
+
return __nvvm_redux_sync_and(__value, __mask);
|
|
540
827
|
}
|
|
541
828
|
__device__ inline unsigned __reduce_xor_sync(unsigned __mask,
|
|
542
829
|
unsigned __value) {
|
|
543
|
-
return __nvvm_redux_sync_xor(
|
|
830
|
+
return __nvvm_redux_sync_xor(__value, __mask);
|
|
544
831
|
}
|
|
545
832
|
|
|
546
833
|
__device__ inline void __nv_memcpy_async_shared_global_4(void *__dst,
|
|
@@ -38,12 +38,25 @@
|
|
|
38
38
|
|
|
39
39
|
// Include some standard headers to avoid CUDA headers including them
|
|
40
40
|
// while some required macros (like __THROW) are in a weird state.
|
|
41
|
+
#include <climits>
|
|
41
42
|
#include <cmath>
|
|
42
43
|
#include <cstdlib>
|
|
43
44
|
#include <stdlib.h>
|
|
44
45
|
#include <string.h>
|
|
45
46
|
#undef __CUDACC__
|
|
46
47
|
|
|
48
|
+
// math_functions.h from CUDA 13.2+ defines _NV_RSQRT_SPECIFIER.
|
|
49
|
+
// Clang does not include it, so we need to define it ourselves.
|
|
50
|
+
#if defined(__GNUC__) && defined(__GLIBC_PREREQ)
|
|
51
|
+
#if __GLIBC_PREREQ(2, 42)
|
|
52
|
+
#define _NV_RSQRT_SPECIFIER noexcept(true)
|
|
53
|
+
#endif
|
|
54
|
+
#endif
|
|
55
|
+
|
|
56
|
+
#ifndef _NV_RSQRT_SPECIFIER
|
|
57
|
+
#define _NV_RSQRT_SPECIFIER
|
|
58
|
+
#endif
|
|
59
|
+
|
|
47
60
|
// Preserve common macros that will be changed below by us or by CUDA
|
|
48
61
|
// headers.
|
|
49
62
|
#pragma push_macro("__THROW")
|
|
@@ -384,7 +397,13 @@ __host__ __device__ void __nv_tex_surf_handler(const char *name, T *ptr,
|
|
|
384
397
|
// will continue to fail as it does now.
|
|
385
398
|
#endif // CUDA_VERSION
|
|
386
399
|
#endif // __cplusplus >= 201103L && CUDA_VERSION >= 9000
|
|
400
|
+
#include "surface_indirect_functions.h"
|
|
401
|
+
#if CUDA_VERSION < 13000
|
|
402
|
+
// Direct texture fetch functions had been deprecated since CUDA-11.
|
|
403
|
+
// The file in CUDA-12 only carried unused texture types, and is no longer
|
|
404
|
+
// needed.
|
|
387
405
|
#include "texture_fetch_functions.h"
|
|
406
|
+
#endif // CUDA_VERSION < 13000
|
|
388
407
|
#include "texture_indirect_functions.h"
|
|
389
408
|
|
|
390
409
|
// Restore state of __CUDA_ARCH__ and __THROW we had on entry.
|