@cpp-linter/clang-tidy-win32-x64 19.1.0 → 23.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/clang-tidy.exe +2 -2
- package/lib/clang/23/include/__clang_cuda_complex_builtins.h +236 -0
- package/lib/clang/{19 → 23}/include/__clang_cuda_device_functions.h +15 -1
- package/lib/clang/{19 → 23}/include/__clang_cuda_intrinsics.h +288 -20
- package/lib/clang/{19 → 23}/include/__clang_cuda_math.h +5 -0
- package/lib/clang/{19 → 23}/include/__clang_cuda_math_forward_declares.h +5 -0
- package/lib/clang/{19 → 23}/include/__clang_cuda_runtime_wrapper.h +28 -5
- package/lib/clang/{19 → 23}/include/__clang_cuda_texture_intrinsics.h +437 -2
- package/lib/clang/23/include/__clang_gpu_builtin_vars.h +71 -0
- package/lib/clang/23/include/__clang_gpu_device_functions.h +411 -0
- package/lib/clang/23/include/__clang_gpu_intrinsics.h +242 -0
- package/lib/clang/{19 → 23}/include/__clang_hip_cmath.h +15 -9
- package/lib/clang/{19 → 23}/include/__clang_hip_libdevice_declares.h +24 -139
- package/lib/clang/{19 → 23}/include/__clang_hip_math.h +115 -34
- package/lib/clang/{19 → 23}/include/__clang_hip_runtime_wrapper.h +12 -1
- package/lib/clang/23/include/__clang_spirv_builtins.h +217 -0
- package/lib/clang/23/include/__clang_spirv_libdevice_declares.h +170 -0
- package/lib/clang/23/include/__clang_spirv_math.h +719 -0
- package/lib/clang/{19/include/float.h → 23/include/__float_float.h} +14 -34
- package/lib/clang/23/include/__float_header_macro.h +12 -0
- package/lib/clang/23/include/__float_infinity_nan.h +20 -0
- package/lib/clang/{19 → 23}/include/__stdarg_va_arg.h +2 -2
- package/lib/clang/{19 → 23}/include/adcintrin.h +5 -0
- package/lib/clang/{19 → 23}/include/adxintrin.h +5 -0
- package/lib/clang/{19 → 23}/include/altivec.h +169 -96
- package/lib/clang/23/include/amdgpuintrin.h +164 -0
- package/lib/clang/23/include/amdhsa_abi.h +83 -0
- package/lib/clang/23/include/amo.h +220 -0
- package/lib/clang/23/include/amxavx512intrin.h +596 -0
- package/lib/clang/{19 → 23}/include/amxcomplexintrin.h +4 -6
- package/lib/clang/{19 → 23}/include/amxfp16intrin.h +35 -0
- package/lib/clang/23/include/amxfp8intrin.h +230 -0
- package/lib/clang/{19 → 23}/include/amxintrin.h +3 -35
- package/lib/clang/23/include/amxmovrsintrin.h +48 -0
- package/lib/clang/23/include/andes_vector.h +21 -0
- package/lib/clang/23/include/arm64_neon.h +21 -0
- package/lib/clang/{19 → 23}/include/arm64intr.h +10 -0
- package/lib/clang/{19 → 23}/include/arm_acle.h +67 -89
- package/lib/clang/{19 → 23}/include/arm_fp16.h +89 -89
- package/lib/clang/{19 → 23}/include/arm_neon.h +43614 -38901
- package/lib/clang/{19 → 23}/include/arm_sme.h +1028 -94
- package/lib/clang/{19 → 23}/include/arm_sve.h +7331 -5170
- package/lib/clang/{19 → 23}/include/arm_vector_types.h +87 -0
- package/lib/clang/23/include/avx10_2_512bf16intrin.h +568 -0
- package/lib/clang/23/include/avx10_2_512convertintrin.h +322 -0
- package/lib/clang/23/include/avx10_2_512minmaxintrin.h +127 -0
- package/lib/clang/23/include/avx10_2_512niintrin.h +314 -0
- package/lib/clang/23/include/avx10_2_512satcvtdsintrin.h +307 -0
- package/lib/clang/23/include/avx10_2_512satcvtintrin.h +301 -0
- package/lib/clang/23/include/avx10_2bf16intrin.h +1094 -0
- package/lib/clang/23/include/avx10_2convertintrin.h +3257 -0
- package/lib/clang/23/include/avx10_2copyintrin.h +66 -0
- package/lib/clang/23/include/avx10_2minmaxintrin.h +232 -0
- package/lib/clang/23/include/avx10_2niintrin.h +409 -0
- package/lib/clang/23/include/avx10_2satcvtdsintrin.h +376 -0
- package/lib/clang/23/include/avx10_2satcvtintrin.h +312 -0
- package/lib/clang/{19 → 23}/include/avx2intrin.h +284 -378
- package/lib/clang/{19 → 23}/include/avx512bf16intrin.h +25 -16
- package/lib/clang/{19 → 23}/include/avx512bitalgintrin.h +21 -32
- package/lib/clang/23/include/avx512bmmintrin.h +174 -0
- package/lib/clang/23/include/avx512bmmvlintrin.h +245 -0
- package/lib/clang/{19 → 23}/include/avx512bwintrin.h +405 -534
- package/lib/clang/23/include/avx512cdintrin.h +112 -0
- package/lib/clang/{19 → 23}/include/avx512dqintrin.h +132 -161
- package/lib/clang/{19 → 23}/include/avx512fintrin.h +1068 -1496
- package/lib/clang/{19 → 23}/include/avx512fp16intrin.h +126 -129
- package/lib/clang/23/include/avx512ifmaintrin.h +68 -0
- package/lib/clang/23/include/avx512ifmavlintrin.h +138 -0
- package/lib/clang/{19 → 23}/include/avx512vbmi2intrin.h +55 -48
- package/lib/clang/{19 → 23}/include/avx512vbmiintrin.h +19 -27
- package/lib/clang/{19 → 23}/include/avx512vbmivlintrin.h +35 -49
- package/lib/clang/{19 → 23}/include/avx512vlbf16intrin.h +32 -22
- package/lib/clang/{19 → 23}/include/avx512vlbitalgintrin.h +41 -57
- package/lib/clang/{19 → 23}/include/avx512vlbwintrin.h +494 -609
- package/lib/clang/23/include/avx512vlcdintrin.h +202 -0
- package/lib/clang/{19 → 23}/include/avx512vldqintrin.h +110 -127
- package/lib/clang/{19 → 23}/include/avx512vlfp16intrin.h +130 -111
- package/lib/clang/{19 → 23}/include/avx512vlintrin.h +1025 -1395
- package/lib/clang/{19 → 23}/include/avx512vlvbmi2intrin.h +102 -95
- package/lib/clang/{19 → 23}/include/avx512vlvnniintrin.h +50 -52
- package/lib/clang/{19 → 23}/include/avx512vlvp2intersectintrin.h +2 -2
- package/lib/clang/{19 → 23}/include/avx512vnniintrin.h +42 -45
- package/lib/clang/{19 → 23}/include/avx512vp2intersectintrin.h +2 -3
- package/lib/clang/{19 → 23}/include/avx512vpopcntdqintrin.h +10 -4
- package/lib/clang/{19 → 23}/include/avx512vpopcntdqvlintrin.h +20 -10
- package/lib/clang/{19 → 23}/include/avxifmaintrin.h +16 -0
- package/lib/clang/{19 → 23}/include/avxintrin.h +186 -248
- package/lib/clang/{19 → 23}/include/avxvnniint16intrin.h +130 -152
- package/lib/clang/{19 → 23}/include/avxvnniint8intrin.h +68 -85
- package/lib/clang/{19 → 23}/include/avxvnniintrin.h +39 -26
- package/lib/clang/{19 → 23}/include/bmi2intrin.h +15 -17
- package/lib/clang/{19 → 23}/include/bmiintrin.h +31 -41
- package/lib/clang/{19 → 23}/include/cmpccxaddintrin.h +1 -1
- package/lib/clang/{19 → 23}/include/cpuid.h +137 -37
- package/lib/clang/{19 → 23}/include/crc32intrin.h +10 -8
- package/lib/clang/23/include/cuda_wrappers/__utility/declval.h +28 -0
- package/lib/clang/23/include/cuda_wrappers/bits/c++config.h +61 -0
- package/lib/clang/23/include/cuda_wrappers/cmath +44 -0
- package/lib/clang/{19 → 23}/include/cuda_wrappers/new +2 -0
- package/lib/clang/{19 → 23}/include/emmintrin.h +306 -272
- package/lib/clang/23/include/endian.h +91 -0
- package/lib/clang/{19 → 23}/include/f16cintrin.h +23 -9
- package/lib/clang/23/include/float.h +48 -0
- package/lib/clang/23/include/fma4intrin.h +220 -0
- package/lib/clang/{19 → 23}/include/fmaintrin.h +96 -66
- package/lib/clang/{19 → 23}/include/gfniintrin.h +39 -12
- package/lib/clang/23/include/gpuintrin.h +348 -0
- package/lib/clang/{19 → 23}/include/hexagon_types.h +31 -24
- package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics.h +222 -0
- package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics_gen.inc +3869 -0
- package/lib/clang/23/include/hlsl/hlsl_basic_types.h +370 -0
- package/lib/clang/23/include/hlsl/hlsl_compat_overloads.h +559 -0
- package/lib/clang/23/include/hlsl/hlsl_detail.h +56 -0
- package/lib/clang/23/include/hlsl/hlsl_inline_intrinsics_gen.inc +546 -0
- package/lib/clang/23/include/hlsl/hlsl_intrinsic_helpers.h +170 -0
- package/lib/clang/23/include/hlsl/hlsl_intrinsics.h +331 -0
- package/lib/clang/23/include/hlsl/hlsl_spirv.h +28 -0
- package/lib/clang/23/include/hlsl.h +38 -0
- package/lib/clang/{19 → 23}/include/hvx_hexagon_protos.h +1041 -803
- package/lib/clang/{19 → 23}/include/immintrin.h +35 -185
- package/lib/clang/{19 → 23}/include/intrin.h +62 -21
- package/lib/clang/{19 → 23}/include/intrin0.h +10 -1
- package/lib/clang/{19 → 23}/include/keylockerintrin.h +0 -9
- package/lib/clang/{19 → 23}/include/larchintrin.h +24 -8
- package/lib/clang/{19 → 23}/include/lasxintrin.h +140 -25
- package/lib/clang/{19 → 23}/include/limits.h +7 -4
- package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/assert.h +3 -5
- package/lib/clang/23/include/llvm_libc_wrappers/ctype.h +29 -0
- package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/inttypes.h +3 -5
- package/lib/clang/23/include/llvm_libc_wrappers/stdio.h +52 -0
- package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/stdlib.h +3 -16
- package/lib/clang/23/include/llvm_libc_wrappers/string.h +29 -0
- package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/time.h +4 -10
- package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
- package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
- package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
- package/lib/clang/{19 → 23}/include/lsxintrin.h +27 -25
- package/lib/clang/{19 → 23}/include/lzcntintrin.h +13 -8
- package/lib/clang/{19 → 23}/include/mmintrin.h +241 -256
- package/lib/clang/{19 → 23}/include/module.modulemap +54 -9
- package/lib/clang/23/include/movrs_avx10_2_512intrin.h +98 -0
- package/lib/clang/23/include/movrs_avx10_2intrin.h +174 -0
- package/lib/clang/23/include/movrsintrin.h +59 -0
- package/lib/clang/23/include/nvptxintrin.h +208 -0
- package/lib/clang/{19 → 23}/include/opencl-c-base.h +28 -92
- package/lib/clang/{19 → 23}/include/opencl-c.h +506 -140
- package/lib/clang/{19 → 23}/include/openmp_wrappers/__clang_openmp_device_functions.h +18 -5
- package/lib/clang/{19 → 23}/include/openmp_wrappers/complex +7 -1
- package/lib/clang/{19 → 23}/include/openmp_wrappers/complex.h +6 -0
- package/lib/clang/{19 → 23}/include/openmp_wrappers/complex_cmath.h +7 -2
- package/lib/clang/{19 → 23}/include/openmp_wrappers/math.h +10 -0
- package/lib/clang/{19 → 23}/include/pmmintrin.h +24 -23
- package/lib/clang/{19 → 23}/include/popcntintrin.h +7 -7
- package/lib/clang/{19 → 23}/include/prfchwintrin.h +10 -13
- package/lib/clang/{19 → 23}/include/ptrauth.h +169 -14
- package/lib/clang/{19 → 23}/include/riscv_bitmanip.h +7 -0
- package/lib/clang/23/include/riscv_corev_alu.h +130 -0
- package/lib/clang/{19 → 23}/include/riscv_crypto.h +8 -0
- package/lib/clang/23/include/riscv_mips.h +36 -0
- package/lib/clang/23/include/riscv_nds.h +92 -0
- package/lib/clang/{19 → 23}/include/riscv_ntlh.h +2 -0
- package/lib/clang/23/include/riscv_packed_simd.h +644 -0
- package/lib/clang/{19 → 23}/include/riscv_vector.h +43 -5
- package/lib/clang/{19 → 23}/include/shaintrin.h +3 -2
- package/lib/clang/{19 → 23}/include/sifive_vector.h +76 -2
- package/lib/clang/23/include/sm4evexintrin.h +32 -0
- package/lib/clang/{19 → 23}/include/smmintrin.h +80 -56
- package/lib/clang/23/include/spirvintrin.h +167 -0
- package/lib/clang/{19 → 23}/include/stdalign.h +0 -5
- package/lib/clang/23/include/stdcountof.h +15 -0
- package/lib/clang/23/include/stddefer.h +19 -0
- package/lib/clang/{19 → 23}/include/stdint.h +23 -143
- package/lib/clang/{19 → 23}/include/tbmintrin.h +25 -37
- package/lib/clang/{19 → 23}/include/tmmintrin.h +125 -130
- package/lib/clang/{19 → 23}/include/vaesintrin.h +1 -2
- package/lib/clang/{19 → 23}/include/vecintrin.h +1783 -60
- package/lib/clang/{19 → 23}/include/wasm_simd128.h +184 -21
- package/lib/clang/{19 → 23}/include/x86gprintrin.h +0 -14
- package/lib/clang/{19 → 23}/include/x86intrin.h +0 -18
- package/lib/clang/{19 → 23}/include/xmmintrin.h +190 -221
- package/lib/clang/{19 → 23}/include/xopintrin.h +20 -10
- package/lib/clang/23/include/zos_wrappers/grp.h +19 -0
- package/lib/clang/23/include/zos_wrappers/locale.h +19 -0
- package/lib/clang/23/include/zos_wrappers/math.h +31 -0
- package/lib/clang/23/include/zos_wrappers/poll.h +19 -0
- package/lib/clang/23/include/zos_wrappers/stdlib.h +20 -0
- package/lib/clang/23/include/zos_wrappers/string.h +19 -0
- package/lib/clang/23/include/zos_wrappers/time.h +19 -0
- package/lib/clang/23/include/zos_wrappers/variant.h +19 -0
- package/package.json +6 -6
- package/lib/clang/19/include/__clang_cuda_complex_builtins.h +0 -285
- package/lib/clang/19/include/avx512cdintrin.h +0 -125
- package/lib/clang/19/include/avx512ifmaintrin.h +0 -70
- package/lib/clang/19/include/avx512ifmavlintrin.h +0 -111
- package/lib/clang/19/include/avx512vlcdintrin.h +0 -230
- package/lib/clang/19/include/cuda_wrappers/cmath +0 -90
- package/lib/clang/19/include/fma4intrin.h +0 -218
- package/lib/clang/19/include/hlsl/hlsl_basic_types.h +0 -74
- package/lib/clang/19/include/hlsl/hlsl_intrinsics.h +0 -1697
- package/lib/clang/19/include/hlsl.h +0 -15
- package/lib/clang/19/include/llvm_libc_wrappers/ctype.h +0 -102
- package/lib/clang/19/include/llvm_libc_wrappers/stdio.h +0 -80
- package/lib/clang/19/include/llvm_libc_wrappers/string.h +0 -96
- /package/lib/clang/{19 → 23}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{19 → 23}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{19 → 23}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{19 → 23}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stdarg___gnuc_va_list.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stdarg___va_copy.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stdarg_header_macro.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stdarg_va_copy.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stdarg_va_list.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_header_macro.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_null.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_nullptr_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_offsetof.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_ptrdiff_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_rsize_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_size_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_unreachable.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_wchar_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_wint_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{19 → 23}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{19 → 23}/include/ammintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/arm_bf16.h +0 -0
- /package/lib/clang/{19 → 23}/include/arm_cde.h +0 -0
- /package/lib/clang/{19 → 23}/include/arm_cmse.h +0 -0
- /package/lib/clang/{19 → 23}/include/arm_mve.h +0 -0
- /package/lib/clang/{19 → 23}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{19 → 23}/include/armintr.h +0 -0
- /package/lib/clang/{19 → 23}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/builtins.h +0 -0
- /package/lib/clang/{19 → 23}/include/cet.h +0 -0
- /package/lib/clang/{19 → 23}/include/cetintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/clwbintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/clzerointrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{19 → 23}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{19 → 23}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{19 → 23}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{19 → 23}/include/hresetintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/htmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ia32intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/inttypes.h +0 -0
- /package/lib/clang/{19 → 23}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/iso646.h +0 -0
- /package/lib/clang/{19 → 23}/include/lwpintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/mm3dnow.h +0 -0
- /package/lib/clang/{19 → 23}/include/mm_malloc.h +0 -0
- /package/lib/clang/{19 → 23}/include/movdirintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/msa.h +0 -0
- /package/lib/clang/{19 → 23}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/nmmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{19 → 23}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{19 → 23}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/pkuintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/nmmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/smmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/raointintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/rtmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/s390intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/serializeintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/sgxintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/sha512intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/sm3intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/sm4intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/stdarg.h +0 -0
- /package/lib/clang/{19 → 23}/include/stdatomic.h +0 -0
- /package/lib/clang/{19 → 23}/include/stdbool.h +0 -0
- /package/lib/clang/{19 → 23}/include/stdckdint.h +0 -0
- /package/lib/clang/{19 → 23}/include/stddef.h +0 -0
- /package/lib/clang/{19 → 23}/include/stdnoreturn.h +0 -0
- /package/lib/clang/{19 → 23}/include/tgmath.h +0 -0
- /package/lib/clang/{19 → 23}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/uintrintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/unwind.h +0 -0
- /package/lib/clang/{19 → 23}/include/usermsrintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/vadefs.h +0 -0
- /package/lib/clang/{19 → 23}/include/varargs.h +0 -0
- /package/lib/clang/{19 → 23}/include/velintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{19 → 23}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{19 → 23}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/wmmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/xtestintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/yvals_core.h +0 -0
- /package/lib/clang/{19 → 23}/include/zos_wrappers/builtins.h +0 -0
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 23.1.3, 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-23.1.3-3`](https://github.com/cpp-linter/clang-tools-static-binaries/releases/tag/llvm-23.1.3-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: 80119296 bytes
|
|
4
|
+
sha256: a4285331cc4d87e49ef715059e4da27f2ad1aa626e95f9af804061924923b416
|
|
@@ -0,0 +1,236 @@
|
|
|
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
|
+
defined(__OPENMP_SPIRV__)
|
|
21
|
+
#pragma omp declare target
|
|
22
|
+
#define __DEVICE__ __attribute__((noinline, nothrow, cold, weak))
|
|
23
|
+
#else
|
|
24
|
+
#define __DEVICE__ __device__ inline
|
|
25
|
+
#endif
|
|
26
|
+
|
|
27
|
+
#if defined(__NVPTX__)
|
|
28
|
+
// FIXME: NVPTX should use generic builtins.
|
|
29
|
+
#define _SCALBNd __nv_scalbn
|
|
30
|
+
#define _SCALBNf __nv_scalbnf
|
|
31
|
+
#define _LOGBd __nv_logb
|
|
32
|
+
#define _LOGBf __nv_logbf
|
|
33
|
+
#elif defined(__OPENMP_SPIRV__)
|
|
34
|
+
#define _SCALBNd __spirv_ocl_ldexp
|
|
35
|
+
#define _SCALBNf __spirv_ocl_ldexp
|
|
36
|
+
#define _LOGBd __spirv_ocl_logb
|
|
37
|
+
#define _LOGBf __spirv_ocl_logb
|
|
38
|
+
#else
|
|
39
|
+
#define _SCALBNd __builtin_scalbn
|
|
40
|
+
#define _SCALBNf __builtin_scalbnf
|
|
41
|
+
#define _LOGBd __builtin_logb
|
|
42
|
+
#define _LOGBf __builtin_logbf
|
|
43
|
+
#endif
|
|
44
|
+
|
|
45
|
+
#if defined(__cplusplus)
|
|
46
|
+
extern "C" {
|
|
47
|
+
#endif
|
|
48
|
+
|
|
49
|
+
__DEVICE__ double _Complex __muldc3(double __a, double __b, double __c,
|
|
50
|
+
double __d) {
|
|
51
|
+
double __ac = __a * __c;
|
|
52
|
+
double __bd = __b * __d;
|
|
53
|
+
double __ad = __a * __d;
|
|
54
|
+
double __bc = __b * __c;
|
|
55
|
+
double _Complex z;
|
|
56
|
+
__real__(z) = __ac - __bd;
|
|
57
|
+
__imag__(z) = __ad + __bc;
|
|
58
|
+
if (__builtin_isnan(__real__(z)) && __builtin_isnan(__imag__(z))) {
|
|
59
|
+
int __recalc = 0;
|
|
60
|
+
if (__builtin_isinf(__a) || __builtin_isinf(__b)) {
|
|
61
|
+
__a = __builtin_copysign(__builtin_isinf(__a) ? 1 : 0, __a);
|
|
62
|
+
__b = __builtin_copysign(__builtin_isinf(__b) ? 1 : 0, __b);
|
|
63
|
+
if (__builtin_isnan(__c))
|
|
64
|
+
__c = __builtin_copysign(0, __c);
|
|
65
|
+
if (__builtin_isnan(__d))
|
|
66
|
+
__d = __builtin_copysign(0, __d);
|
|
67
|
+
__recalc = 1;
|
|
68
|
+
}
|
|
69
|
+
if (__builtin_isinf(__c) || __builtin_isinf(__d)) {
|
|
70
|
+
__c = __builtin_copysign(__builtin_isinf(__c) ? 1 : 0, __c);
|
|
71
|
+
__d = __builtin_copysign(__builtin_isinf(__d) ? 1 : 0, __d);
|
|
72
|
+
if (__builtin_isnan(__a))
|
|
73
|
+
__a = __builtin_copysign(0, __a);
|
|
74
|
+
if (__builtin_isnan(__b))
|
|
75
|
+
__b = __builtin_copysign(0, __b);
|
|
76
|
+
__recalc = 1;
|
|
77
|
+
}
|
|
78
|
+
if (!__recalc && (__builtin_isinf(__ac) || __builtin_isinf(__bd) ||
|
|
79
|
+
__builtin_isinf(__ad) || __builtin_isinf(__bc))) {
|
|
80
|
+
if (__builtin_isnan(__a))
|
|
81
|
+
__a = __builtin_copysign(0, __a);
|
|
82
|
+
if (__builtin_isnan(__b))
|
|
83
|
+
__b = __builtin_copysign(0, __b);
|
|
84
|
+
if (__builtin_isnan(__c))
|
|
85
|
+
__c = __builtin_copysign(0, __c);
|
|
86
|
+
if (__builtin_isnan(__d))
|
|
87
|
+
__d = __builtin_copysign(0, __d);
|
|
88
|
+
__recalc = 1;
|
|
89
|
+
}
|
|
90
|
+
if (__recalc) {
|
|
91
|
+
// Can't use std::numeric_limits<double>::infinity() -- that doesn't have
|
|
92
|
+
// a device overload (and isn't constexpr before C++11, naturally).
|
|
93
|
+
__real__(z) = __builtin_huge_val() * (__a * __c - __b * __d);
|
|
94
|
+
__imag__(z) = __builtin_huge_val() * (__a * __d + __b * __c);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return z;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
__DEVICE__ float _Complex __mulsc3(float __a, float __b, float __c, float __d) {
|
|
101
|
+
float __ac = __a * __c;
|
|
102
|
+
float __bd = __b * __d;
|
|
103
|
+
float __ad = __a * __d;
|
|
104
|
+
float __bc = __b * __c;
|
|
105
|
+
float _Complex z;
|
|
106
|
+
__real__(z) = __ac - __bd;
|
|
107
|
+
__imag__(z) = __ad + __bc;
|
|
108
|
+
if (__builtin_isnan(__real__(z)) && __builtin_isnan(__imag__(z))) {
|
|
109
|
+
int __recalc = 0;
|
|
110
|
+
if (__builtin_isinf(__a) || __builtin_isinf(__b)) {
|
|
111
|
+
__a = __builtin_copysignf(__builtin_isinf(__a) ? 1 : 0, __a);
|
|
112
|
+
__b = __builtin_copysignf(__builtin_isinf(__b) ? 1 : 0, __b);
|
|
113
|
+
if (__builtin_isnan(__c))
|
|
114
|
+
__c = __builtin_copysignf(0, __c);
|
|
115
|
+
if (__builtin_isnan(__d))
|
|
116
|
+
__d = __builtin_copysignf(0, __d);
|
|
117
|
+
__recalc = 1;
|
|
118
|
+
}
|
|
119
|
+
if (__builtin_isinf(__c) || __builtin_isinf(__d)) {
|
|
120
|
+
__c = __builtin_copysignf(__builtin_isinf(__c) ? 1 : 0, __c);
|
|
121
|
+
__d = __builtin_copysignf(__builtin_isinf(__d) ? 1 : 0, __d);
|
|
122
|
+
if (__builtin_isnan(__a))
|
|
123
|
+
__a = __builtin_copysignf(0, __a);
|
|
124
|
+
if (__builtin_isnan(__b))
|
|
125
|
+
__b = __builtin_copysignf(0, __b);
|
|
126
|
+
__recalc = 1;
|
|
127
|
+
}
|
|
128
|
+
if (!__recalc && (__builtin_isinf(__ac) || __builtin_isinf(__bd) ||
|
|
129
|
+
__builtin_isinf(__ad) || __builtin_isinf(__bc))) {
|
|
130
|
+
if (__builtin_isnan(__a))
|
|
131
|
+
__a = __builtin_copysignf(0, __a);
|
|
132
|
+
if (__builtin_isnan(__b))
|
|
133
|
+
__b = __builtin_copysignf(0, __b);
|
|
134
|
+
if (__builtin_isnan(__c))
|
|
135
|
+
__c = __builtin_copysignf(0, __c);
|
|
136
|
+
if (__builtin_isnan(__d))
|
|
137
|
+
__d = __builtin_copysignf(0, __d);
|
|
138
|
+
__recalc = 1;
|
|
139
|
+
}
|
|
140
|
+
if (__recalc) {
|
|
141
|
+
__real__(z) = __builtin_huge_valf() * (__a * __c - __b * __d);
|
|
142
|
+
__imag__(z) = __builtin_huge_valf() * (__a * __d + __b * __c);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return z;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
__DEVICE__ double _Complex __divdc3(double __a, double __b, double __c,
|
|
149
|
+
double __d) {
|
|
150
|
+
int __ilogbw = 0;
|
|
151
|
+
// Can't use std::max, because that's defined in <algorithm>, and we don't
|
|
152
|
+
// want to pull that in for every compile. The CUDA headers define
|
|
153
|
+
// ::max(float, float) and ::max(double, double), which is sufficient for us.
|
|
154
|
+
double __logbw =
|
|
155
|
+
_LOGBd(__builtin_fmax(__builtin_fabs(__c), __builtin_fabs(__d)));
|
|
156
|
+
if (__builtin_isfinite(__logbw)) {
|
|
157
|
+
__ilogbw = (int)__logbw;
|
|
158
|
+
__c = _SCALBNd(__c, -__ilogbw);
|
|
159
|
+
__d = _SCALBNd(__d, -__ilogbw);
|
|
160
|
+
}
|
|
161
|
+
double __denom = __c * __c + __d * __d;
|
|
162
|
+
double _Complex z;
|
|
163
|
+
__real__(z) = _SCALBNd((__a * __c + __b * __d) / __denom, -__ilogbw);
|
|
164
|
+
__imag__(z) = _SCALBNd((__b * __c - __a * __d) / __denom, -__ilogbw);
|
|
165
|
+
if (__builtin_isnan(__real__(z)) && __builtin_isnan(__imag__(z))) {
|
|
166
|
+
if ((__denom == 0.0) && (!__builtin_isnan(__a) || !__builtin_isnan(__b))) {
|
|
167
|
+
__real__(z) = __builtin_copysign(__builtin_huge_val(), __c) * __a;
|
|
168
|
+
__imag__(z) = __builtin_copysign(__builtin_huge_val(), __c) * __b;
|
|
169
|
+
} else if ((__builtin_isinf(__a) || __builtin_isinf(__b)) &&
|
|
170
|
+
__builtin_isfinite(__c) && __builtin_isfinite(__d)) {
|
|
171
|
+
__a = __builtin_copysign(__builtin_isinf(__a) ? 1.0 : 0.0, __a);
|
|
172
|
+
__b = __builtin_copysign(__builtin_isinf(__b) ? 1.0 : 0.0, __b);
|
|
173
|
+
__real__(z) = __builtin_huge_val() * (__a * __c + __b * __d);
|
|
174
|
+
__imag__(z) = __builtin_huge_val() * (__b * __c - __a * __d);
|
|
175
|
+
} else if (__builtin_isinf(__logbw) && __logbw > 0.0 &&
|
|
176
|
+
__builtin_isfinite(__a) && __builtin_isfinite(__b)) {
|
|
177
|
+
__c = __builtin_copysign(__builtin_isinf(__c) ? 1.0 : 0.0, __c);
|
|
178
|
+
__d = __builtin_copysign(__builtin_isinf(__d) ? 1.0 : 0.0, __d);
|
|
179
|
+
__real__(z) = 0.0 * (__a * __c + __b * __d);
|
|
180
|
+
__imag__(z) = 0.0 * (__b * __c - __a * __d);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
return z;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
__DEVICE__ float _Complex __divsc3(float __a, float __b, float __c, float __d) {
|
|
187
|
+
int __ilogbw = 0;
|
|
188
|
+
float __logbw =
|
|
189
|
+
_LOGBf(__builtin_fmaxf(__builtin_fabsf(__c), __builtin_fabsf(__d)));
|
|
190
|
+
if (__builtin_isfinite(__logbw)) {
|
|
191
|
+
__ilogbw = (int)__logbw;
|
|
192
|
+
__c = _SCALBNf(__c, -__ilogbw);
|
|
193
|
+
__d = _SCALBNf(__d, -__ilogbw);
|
|
194
|
+
}
|
|
195
|
+
float __denom = __c * __c + __d * __d;
|
|
196
|
+
float _Complex z;
|
|
197
|
+
__real__(z) = _SCALBNf((__a * __c + __b * __d) / __denom, -__ilogbw);
|
|
198
|
+
__imag__(z) = _SCALBNf((__b * __c - __a * __d) / __denom, -__ilogbw);
|
|
199
|
+
if (__builtin_isnan(__real__(z)) && __builtin_isnan(__imag__(z))) {
|
|
200
|
+
if ((__denom == 0) && (!__builtin_isnan(__a) || !__builtin_isnan(__b))) {
|
|
201
|
+
__real__(z) = __builtin_copysignf(__builtin_huge_valf(), __c) * __a;
|
|
202
|
+
__imag__(z) = __builtin_copysignf(__builtin_huge_valf(), __c) * __b;
|
|
203
|
+
} else if ((__builtin_isinf(__a) || __builtin_isinf(__b)) &&
|
|
204
|
+
__builtin_isfinite(__c) && __builtin_isfinite(__d)) {
|
|
205
|
+
__a = __builtin_copysignf(__builtin_isinf(__a) ? 1 : 0, __a);
|
|
206
|
+
__b = __builtin_copysignf(__builtin_isinf(__b) ? 1 : 0, __b);
|
|
207
|
+
__real__(z) = __builtin_huge_valf() * (__a * __c + __b * __d);
|
|
208
|
+
__imag__(z) = __builtin_huge_valf() * (__b * __c - __a * __d);
|
|
209
|
+
} else if (__builtin_isinf(__logbw) && __logbw > 0 &&
|
|
210
|
+
__builtin_isfinite(__a) && __builtin_isfinite(__b)) {
|
|
211
|
+
__c = __builtin_copysignf(__builtin_isinf(__c) ? 1 : 0, __c);
|
|
212
|
+
__d = __builtin_copysignf(__builtin_isinf(__d) ? 1 : 0, __d);
|
|
213
|
+
__real__(z) = 0 * (__a * __c + __b * __d);
|
|
214
|
+
__imag__(z) = 0 * (__b * __c - __a * __d);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return z;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
#if defined(__cplusplus)
|
|
221
|
+
} // extern "C"
|
|
222
|
+
#endif
|
|
223
|
+
|
|
224
|
+
#undef _SCALBNd
|
|
225
|
+
#undef _SCALBNf
|
|
226
|
+
#undef _LOGBd
|
|
227
|
+
#undef _LOGBf
|
|
228
|
+
|
|
229
|
+
#if defined(__OPENMP_NVPTX__) || defined(__OPENMP_AMDGCN__) || \
|
|
230
|
+
defined(__OPENMP_SPIRV__)
|
|
231
|
+
#pragma omp end declare target
|
|
232
|
+
#endif
|
|
233
|
+
|
|
234
|
+
#pragma pop_macro("__DEVICE__")
|
|
235
|
+
|
|
236
|
+
#endif // __CLANG_CUDA_COMPLEX_BUILTINS
|
|
@@ -528,7 +528,21 @@ __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
|
+
__DEVICE__ unsigned short
|
|
533
|
+
__usAtomicCAS(unsigned short *__p, unsigned short __cmp, unsigned short __v) {
|
|
534
|
+
return __nvvm_atom_cas_gen_us(__p, __cmp, __v);
|
|
535
|
+
}
|
|
536
|
+
__DEVICE__ unsigned short __usAtomicCAS_block(unsigned short *__p,
|
|
537
|
+
unsigned short __cmp,
|
|
538
|
+
unsigned short __v) {
|
|
539
|
+
return __nvvm_atom_cta_cas_gen_us(__p, __cmp, __v);
|
|
540
|
+
}
|
|
541
|
+
__DEVICE__ unsigned short __usAtomicCAS_system(unsigned short *__p,
|
|
542
|
+
unsigned short __cmp,
|
|
543
|
+
unsigned short __v) {
|
|
544
|
+
return __nvvm_atom_sys_cas_gen_us(__p, __cmp, __v);
|
|
545
|
+
}
|
|
532
546
|
__DEVICE__ unsigned int __uAtomicAdd(unsigned int *__p, unsigned int __v) {
|
|
533
547
|
return __nvvm_atom_add_gen_i((int *)__p, __v);
|
|
534
548
|
}
|
|
@@ -449,36 +449,304 @@ inline __device__ double2 __ldg(const double2 *ptr) {
|
|
|
449
449
|
inline __device__ unsigned __funnelshift_l(unsigned low32, unsigned high32,
|
|
450
450
|
unsigned shiftWidth) {
|
|
451
451
|
unsigned result;
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
452
|
+
__asm__("shf.l.wrap.b32 %0, %1, %2, %3;"
|
|
453
|
+
: "=r"(result)
|
|
454
|
+
: "r"(low32), "r"(high32), "r"(shiftWidth));
|
|
455
455
|
return result;
|
|
456
456
|
}
|
|
457
457
|
inline __device__ unsigned __funnelshift_lc(unsigned low32, unsigned high32,
|
|
458
458
|
unsigned shiftWidth) {
|
|
459
459
|
unsigned result;
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
460
|
+
__asm__("shf.l.clamp.b32 %0, %1, %2, %3;"
|
|
461
|
+
: "=r"(result)
|
|
462
|
+
: "r"(low32), "r"(high32), "r"(shiftWidth));
|
|
463
463
|
return result;
|
|
464
464
|
}
|
|
465
465
|
inline __device__ unsigned __funnelshift_r(unsigned low32, unsigned high32,
|
|
466
466
|
unsigned shiftWidth) {
|
|
467
467
|
unsigned result;
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
468
|
+
__asm__("shf.r.wrap.b32 %0, %1, %2, %3;"
|
|
469
|
+
: "=r"(result)
|
|
470
|
+
: "r"(low32), "r"(high32), "r"(shiftWidth));
|
|
471
471
|
return result;
|
|
472
472
|
}
|
|
473
473
|
inline __device__ unsigned __funnelshift_rc(unsigned low32, unsigned high32,
|
|
474
474
|
unsigned shiftWidth) {
|
|
475
475
|
unsigned ret;
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
476
|
+
__asm__("shf.r.clamp.b32 %0, %1, %2, %3;"
|
|
477
|
+
: "=r"(ret)
|
|
478
|
+
: "r"(low32), "r"(high32), "r"(shiftWidth));
|
|
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
|
+
__Volatile, __Clobber) \
|
|
487
|
+
inline __device__ __DeclType __FnName(const __DeclType *__ptr) { \
|
|
488
|
+
__TmpType __ret; \
|
|
489
|
+
__asm__ __Volatile(__AsmOp " %0, [%1];" \
|
|
490
|
+
: __AsmType(__ret) \
|
|
491
|
+
: "l"(__ptr)__Clobber); \
|
|
492
|
+
return (__DeclType)__ret; \
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
#pragma push_macro("__INTRINSIC_LOAD2")
|
|
496
|
+
#define __INTRINSIC_LOAD2(__FnName, __AsmOp, __DeclType, __TmpType, __AsmType, \
|
|
497
|
+
__Volatile, __Clobber) \
|
|
498
|
+
inline __device__ __DeclType __FnName(const __DeclType *__ptr) { \
|
|
499
|
+
__DeclType __ret; \
|
|
500
|
+
__TmpType __tmp; \
|
|
501
|
+
__asm__ __Volatile(__AsmOp " {%0,%1}, [%2];" \
|
|
502
|
+
: __AsmType(__tmp.x), __AsmType(__tmp.y) \
|
|
503
|
+
: "l"(__ptr)__Clobber); \
|
|
504
|
+
using __ElementType = decltype(__ret.x); \
|
|
505
|
+
__ret.x = (__ElementType)__tmp.x; \
|
|
506
|
+
__ret.y = (__ElementType)__tmp.y; \
|
|
507
|
+
return __ret; \
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
#pragma push_macro("__INTRINSIC_LOAD4")
|
|
511
|
+
#define __INTRINSIC_LOAD4(__FnName, __AsmOp, __DeclType, __TmpType, __AsmType, \
|
|
512
|
+
__Volatile, __Clobber) \
|
|
513
|
+
inline __device__ __DeclType __FnName(const __DeclType *__ptr) { \
|
|
514
|
+
__DeclType __ret; \
|
|
515
|
+
__TmpType __tmp; \
|
|
516
|
+
__asm__ __Volatile(__AsmOp " {%0,%1,%2,%3}, [%4];" \
|
|
517
|
+
: __AsmType(__tmp.x), __AsmType(__tmp.y), \
|
|
518
|
+
__AsmType(__tmp.z), __AsmType(__tmp.w) \
|
|
519
|
+
: "l"(__ptr)__Clobber); \
|
|
520
|
+
using __ElementType = decltype(__ret.x); \
|
|
521
|
+
__ret.x = (__ElementType)__tmp.x; \
|
|
522
|
+
__ret.y = (__ElementType)__tmp.y; \
|
|
523
|
+
__ret.z = (__ElementType)__tmp.z; \
|
|
524
|
+
__ret.w = (__ElementType)__tmp.w; \
|
|
525
|
+
return __ret; \
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
#pragma push_macro("__INTRINSIC_LOAD_LONG")
|
|
529
|
+
#define __INTRINSIC_LOAD_LONG(__Mode) \
|
|
530
|
+
inline __device__ long __ld##__Mode(const long *__ptr) { \
|
|
531
|
+
if (__SIZEOF_LONG__ == __SIZEOF_LONG_LONG__) { \
|
|
532
|
+
return (long)__ld##__Mode((const long long *)__ptr); \
|
|
533
|
+
} else { \
|
|
534
|
+
return (long)__ld##__Mode((const int *)__ptr); \
|
|
535
|
+
} \
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
#pragma push_macro("__INTRINSIC_LOAD_ULONG")
|
|
539
|
+
#define __INTRINSIC_LOAD_ULONG(__Mode) \
|
|
540
|
+
inline __device__ unsigned long __ld##__Mode(const unsigned long *__ptr) { \
|
|
541
|
+
if (__SIZEOF_LONG__ == __SIZEOF_LONG_LONG__) { \
|
|
542
|
+
return (unsigned long)__ld##__Mode((const unsigned long long *)__ptr); \
|
|
543
|
+
} else { \
|
|
544
|
+
return (unsigned long)__ld##__Mode((const unsigned int *)__ptr); \
|
|
545
|
+
} \
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
#define __INTRINSIC_LOAD_FAMILY(__Mode, __Volatile, __Clobber) \
|
|
549
|
+
__INTRINSIC_LOAD(__ld##__Mode, "ld.global." #__Mode ".s8", char, \
|
|
550
|
+
unsigned int, "=r", __Volatile, __Clobber) \
|
|
551
|
+
__INTRINSIC_LOAD(__ld##__Mode, "ld.global." #__Mode ".s8", signed char, \
|
|
552
|
+
unsigned int, "=r", __Volatile, __Clobber) \
|
|
553
|
+
__INTRINSIC_LOAD(__ld##__Mode, "ld.global." #__Mode ".s16", short, \
|
|
554
|
+
unsigned short, "=h", __Volatile, __Clobber) \
|
|
555
|
+
__INTRINSIC_LOAD(__ld##__Mode, "ld.global." #__Mode ".s32", int, \
|
|
556
|
+
unsigned int, "=r", __Volatile, __Clobber) \
|
|
557
|
+
__INTRINSIC_LOAD(__ld##__Mode, "ld.global." #__Mode ".s64", long long, \
|
|
558
|
+
unsigned long long, "=l", __Volatile, __Clobber) \
|
|
559
|
+
__INTRINSIC_LOAD2(__ld##__Mode, "ld.global." #__Mode ".v2.s8", char2, int2, \
|
|
560
|
+
"=r", __Volatile, __Clobber) \
|
|
561
|
+
__INTRINSIC_LOAD4(__ld##__Mode, "ld.global." #__Mode ".v4.s8", char4, int4, \
|
|
562
|
+
"=r", __Volatile, __Clobber) \
|
|
563
|
+
__INTRINSIC_LOAD2(__ld##__Mode, "ld.global." #__Mode ".v2.s16", short2, \
|
|
564
|
+
short2, "=h", __Volatile, __Clobber) \
|
|
565
|
+
__INTRINSIC_LOAD4(__ld##__Mode, "ld.global." #__Mode ".v4.s16", short4, \
|
|
566
|
+
short4, "=h", __Volatile, __Clobber) \
|
|
567
|
+
__INTRINSIC_LOAD2(__ld##__Mode, "ld.global." #__Mode ".v2.s32", int2, int2, \
|
|
568
|
+
"=r", __Volatile, __Clobber) \
|
|
569
|
+
__INTRINSIC_LOAD4(__ld##__Mode, "ld.global." #__Mode ".v4.s32", int4, int4, \
|
|
570
|
+
"=r", __Volatile, __Clobber) \
|
|
571
|
+
__INTRINSIC_LOAD2(__ld##__Mode, "ld.global." #__Mode ".v2.s64", longlong2, \
|
|
572
|
+
longlong2, "=l", __Volatile, __Clobber) \
|
|
573
|
+
__INTRINSIC_LOAD(__ld##__Mode, "ld.global." #__Mode ".u8", unsigned char, \
|
|
574
|
+
unsigned int, "=r", __Volatile, __Clobber) \
|
|
575
|
+
__INTRINSIC_LOAD(__ld##__Mode, "ld.global." #__Mode ".u16", unsigned short, \
|
|
576
|
+
unsigned short, "=h", __Volatile, __Clobber) \
|
|
577
|
+
__INTRINSIC_LOAD(__ld##__Mode, "ld.global." #__Mode ".u32", unsigned int, \
|
|
578
|
+
unsigned int, "=r", __Volatile, __Clobber) \
|
|
579
|
+
__INTRINSIC_LOAD(__ld##__Mode, "ld.global." #__Mode ".u64", \
|
|
580
|
+
unsigned long long, unsigned long long, "=l", __Volatile, \
|
|
581
|
+
__Clobber) \
|
|
582
|
+
__INTRINSIC_LOAD2(__ld##__Mode, "ld.global." #__Mode ".v2.u8", uchar2, \
|
|
583
|
+
uint2, "=r", __Volatile, __Clobber) \
|
|
584
|
+
__INTRINSIC_LOAD4(__ld##__Mode, "ld.global." #__Mode ".v4.u8", uchar4, \
|
|
585
|
+
uint4, "=r", __Volatile, __Clobber) \
|
|
586
|
+
__INTRINSIC_LOAD2(__ld##__Mode, "ld.global." #__Mode ".v2.u16", ushort2, \
|
|
587
|
+
ushort2, "=h", __Volatile, __Clobber) \
|
|
588
|
+
__INTRINSIC_LOAD4(__ld##__Mode, "ld.global." #__Mode ".v4.u16", ushort4, \
|
|
589
|
+
ushort4, "=h", __Volatile, __Clobber) \
|
|
590
|
+
__INTRINSIC_LOAD2(__ld##__Mode, "ld.global." #__Mode ".v2.u32", uint2, \
|
|
591
|
+
uint2, "=r", __Volatile, __Clobber) \
|
|
592
|
+
__INTRINSIC_LOAD4(__ld##__Mode, "ld.global." #__Mode ".v4.u32", uint4, \
|
|
593
|
+
uint4, "=r", __Volatile, __Clobber) \
|
|
594
|
+
__INTRINSIC_LOAD2(__ld##__Mode, "ld.global." #__Mode ".v2.u64", ulonglong2, \
|
|
595
|
+
ulonglong2, "=l", __Volatile, __Clobber) \
|
|
596
|
+
__INTRINSIC_LOAD(__ld##__Mode, "ld.global." #__Mode ".f32", float, float, \
|
|
597
|
+
"=f", __Volatile, __Clobber) \
|
|
598
|
+
__INTRINSIC_LOAD(__ld##__Mode, "ld.global." #__Mode ".f64", double, double, \
|
|
599
|
+
"=d", __Volatile, __Clobber) \
|
|
600
|
+
__INTRINSIC_LOAD2(__ld##__Mode, "ld.global." #__Mode ".v2.f32", float2, \
|
|
601
|
+
float2, "=f", __Volatile, __Clobber) \
|
|
602
|
+
__INTRINSIC_LOAD4(__ld##__Mode, "ld.global." #__Mode ".v4.f32", float4, \
|
|
603
|
+
float4, "=f", __Volatile, __Clobber) \
|
|
604
|
+
__INTRINSIC_LOAD2(__ld##__Mode, "ld.global." #__Mode ".v2.f64", double2, \
|
|
605
|
+
double2, "=d", __Volatile, __Clobber) \
|
|
606
|
+
__INTRINSIC_LOAD_LONG(__Mode) \
|
|
607
|
+
__INTRINSIC_LOAD_ULONG(__Mode)
|
|
608
|
+
|
|
609
|
+
__INTRINSIC_LOAD_FAMILY(ca, __volatile__, /* no clobber */)
|
|
610
|
+
__INTRINSIC_LOAD_FAMILY(cg, __volatile__, /* no clobber */)
|
|
611
|
+
__INTRINSIC_LOAD_FAMILY(cs, __volatile__, /* no clobber */)
|
|
612
|
+
__INTRINSIC_LOAD_FAMILY(cv, /* not volatile */, : "memory")
|
|
613
|
+
__INTRINSIC_LOAD_FAMILY(lu, /* not volatile */, : "memory")
|
|
614
|
+
|
|
615
|
+
#pragma pop_macro("__INTRINSIC_LOAD")
|
|
616
|
+
#pragma pop_macro("__INTRINSIC_LOAD2")
|
|
617
|
+
#pragma pop_macro("__INTRINSIC_LOAD4")
|
|
618
|
+
#pragma pop_macro("__INTRINSIC_LOAD_LONG")
|
|
619
|
+
#pragma pop_macro("__INTRINSIC_LOAD_ULONG")
|
|
620
|
+
#pragma pop_macro("__INTRINSIC_LOAD_FAMILY")
|
|
621
|
+
|
|
622
|
+
#pragma push_macro("__INTRINSIC_STORE")
|
|
623
|
+
#define __INTRINSIC_STORE(__FnName, __AsmOp, __DeclType, __TmpType, __AsmType) \
|
|
624
|
+
inline __device__ void __FnName(__DeclType *__ptr, __DeclType __value) { \
|
|
625
|
+
__TmpType __tmp = (__TmpType)__value; \
|
|
626
|
+
__asm__(__AsmOp " [%0], %1;" ::"l"(__ptr), __AsmType(__tmp) : "memory"); \
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
#pragma push_macro("__INTRINSIC_STORE2")
|
|
630
|
+
#define __INTRINSIC_STORE2(__FnName, __AsmOp, __DeclType, __TmpType, \
|
|
631
|
+
__AsmType) \
|
|
632
|
+
inline __device__ void __FnName(__DeclType *__ptr, __DeclType __value) { \
|
|
633
|
+
__TmpType __tmp; \
|
|
634
|
+
using __ElementType = decltype(__tmp.x); \
|
|
635
|
+
__tmp.x = (__ElementType)(__value.x); \
|
|
636
|
+
__tmp.y = (__ElementType)(__value.y); \
|
|
637
|
+
__asm__(__AsmOp " [%0], {%1,%2};" ::"l"(__ptr), __AsmType(__tmp.x), \
|
|
638
|
+
__AsmType(__tmp.y) \
|
|
639
|
+
: "memory"); \
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
#pragma push_macro("__INTRINSIC_STORE4")
|
|
643
|
+
#define __INTRINSIC_STORE4(__FnName, __AsmOp, __DeclType, __TmpType, \
|
|
644
|
+
__AsmType) \
|
|
645
|
+
inline __device__ void __FnName(__DeclType *__ptr, __DeclType __value) { \
|
|
646
|
+
__TmpType __tmp; \
|
|
647
|
+
using __ElementType = decltype(__tmp.x); \
|
|
648
|
+
__tmp.x = (__ElementType)(__value.x); \
|
|
649
|
+
__tmp.y = (__ElementType)(__value.y); \
|
|
650
|
+
__tmp.z = (__ElementType)(__value.z); \
|
|
651
|
+
__tmp.w = (__ElementType)(__value.w); \
|
|
652
|
+
__asm__(__AsmOp " [%0], {%1,%2,%3,%4};" ::"l"(__ptr), __AsmType(__tmp.x), \
|
|
653
|
+
__AsmType(__tmp.y), __AsmType(__tmp.z), __AsmType(__tmp.w) \
|
|
654
|
+
: "memory"); \
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
#pragma push_macro("__INTRINSIC_STORE_LONG")
|
|
658
|
+
#define __INTRINSIC_STORE_LONG(__Mode) \
|
|
659
|
+
inline __device__ void __st##__Mode(long *__ptr, long __value) { \
|
|
660
|
+
if (__SIZEOF_LONG__ == __SIZEOF_LONG_LONG__) { \
|
|
661
|
+
__st##__Mode((long long *)__ptr, (long long)__value); \
|
|
662
|
+
} else { \
|
|
663
|
+
__st##__Mode((int *)__ptr, (int)__value); \
|
|
664
|
+
} \
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
#pragma push_macro("__INTRINSIC_STORE_ULONG")
|
|
668
|
+
#define __INTRINSIC_STORE_ULONG(__Mode) \
|
|
669
|
+
inline __device__ void __st##__Mode(unsigned long *__ptr, \
|
|
670
|
+
unsigned long __value) { \
|
|
671
|
+
if (__SIZEOF_LONG__ == __SIZEOF_LONG_LONG__) { \
|
|
672
|
+
__st##__Mode((unsigned long long *)__ptr, (unsigned long long)__value); \
|
|
673
|
+
} else { \
|
|
674
|
+
__st##__Mode((unsigned int *)__ptr, (unsigned int)__value); \
|
|
675
|
+
} \
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
#pragma push_macro("__INTRINSIC_STORE_FAMILY")
|
|
679
|
+
#define __INTRINSIC_STORE_FAMILY(__Mode) \
|
|
680
|
+
__INTRINSIC_STORE(__st##__Mode, "st.global." #__Mode ".s8", char, int, "r") \
|
|
681
|
+
__INTRINSIC_STORE(__st##__Mode, "st.global." #__Mode ".s8", signed char, \
|
|
682
|
+
int, "r") \
|
|
683
|
+
__INTRINSIC_STORE(__st##__Mode, "st.global." #__Mode ".s16", short, short, \
|
|
684
|
+
"h") \
|
|
685
|
+
__INTRINSIC_STORE(__st##__Mode, "st.global." #__Mode ".s32", int, int, "r") \
|
|
686
|
+
__INTRINSIC_STORE(__st##__Mode, "st.global." #__Mode ".s64", long long, \
|
|
687
|
+
long long, "l") \
|
|
688
|
+
__INTRINSIC_STORE2(__st##__Mode, "st.global." #__Mode ".v2.s8", char2, int2, \
|
|
689
|
+
"r") \
|
|
690
|
+
__INTRINSIC_STORE4(__st##__Mode, "st.global." #__Mode ".v4.s8", char4, int4, \
|
|
691
|
+
"r") \
|
|
692
|
+
__INTRINSIC_STORE2(__st##__Mode, "st.global." #__Mode ".v2.s16", short2, \
|
|
693
|
+
short2, "h") \
|
|
694
|
+
__INTRINSIC_STORE4(__st##__Mode, "st.global." #__Mode ".v4.s16", short4, \
|
|
695
|
+
short4, "h") \
|
|
696
|
+
__INTRINSIC_STORE2(__st##__Mode, "st.global." #__Mode ".v2.s32", int2, int2, \
|
|
697
|
+
"r") \
|
|
698
|
+
__INTRINSIC_STORE4(__st##__Mode, "st.global." #__Mode ".v4.s32", int4, int4, \
|
|
699
|
+
"r") \
|
|
700
|
+
__INTRINSIC_STORE2(__st##__Mode, "st.global." #__Mode ".v2.s64", longlong2, \
|
|
701
|
+
longlong2, "l") \
|
|
702
|
+
__INTRINSIC_STORE(__st##__Mode, "st.global." #__Mode ".u8", unsigned char, \
|
|
703
|
+
int, "r") \
|
|
704
|
+
__INTRINSIC_STORE(__st##__Mode, "st.global." #__Mode ".u16", unsigned short, \
|
|
705
|
+
unsigned short, "h") \
|
|
706
|
+
__INTRINSIC_STORE(__st##__Mode, "st.global." #__Mode ".u32", unsigned int, \
|
|
707
|
+
unsigned int, "r") \
|
|
708
|
+
__INTRINSIC_STORE(__st##__Mode, "st.global." #__Mode ".u64", \
|
|
709
|
+
unsigned long long, unsigned long long, "l") \
|
|
710
|
+
__INTRINSIC_STORE2(__st##__Mode, "st.global." #__Mode ".v2.u8", uchar2, \
|
|
711
|
+
uchar2, "r") \
|
|
712
|
+
__INTRINSIC_STORE4(__st##__Mode, "st.global." #__Mode ".v4.u8", uchar4, \
|
|
713
|
+
uint4, "r") \
|
|
714
|
+
__INTRINSIC_STORE2(__st##__Mode, "st.global." #__Mode ".v2.u16", ushort2, \
|
|
715
|
+
ushort2, "h") \
|
|
716
|
+
__INTRINSIC_STORE4(__st##__Mode, "st.global." #__Mode ".v4.u16", ushort4, \
|
|
717
|
+
ushort4, "h") \
|
|
718
|
+
__INTRINSIC_STORE2(__st##__Mode, "st.global." #__Mode ".v2.u32", uint2, \
|
|
719
|
+
uint2, "r") \
|
|
720
|
+
__INTRINSIC_STORE4(__st##__Mode, "st.global." #__Mode ".v4.u32", uint4, \
|
|
721
|
+
uint4, "r") \
|
|
722
|
+
__INTRINSIC_STORE2(__st##__Mode, "st.global." #__Mode ".v2.u64", ulonglong2, \
|
|
723
|
+
ulonglong2, "l") \
|
|
724
|
+
__INTRINSIC_STORE(__st##__Mode, "st.global." #__Mode ".f32", float, float, \
|
|
725
|
+
"f") \
|
|
726
|
+
__INTRINSIC_STORE(__st##__Mode, "st.global." #__Mode ".f64", double, double, \
|
|
727
|
+
"d") \
|
|
728
|
+
__INTRINSIC_STORE2(__st##__Mode, "st.global." #__Mode ".v2.f32", float2, \
|
|
729
|
+
float2, "f") \
|
|
730
|
+
__INTRINSIC_STORE4(__st##__Mode, "st.global." #__Mode ".v4.f32", float4, \
|
|
731
|
+
float4, "f") \
|
|
732
|
+
__INTRINSIC_STORE2(__st##__Mode, "st.global." #__Mode ".v2.f64", double2, \
|
|
733
|
+
double2, "d") \
|
|
734
|
+
__INTRINSIC_STORE_LONG(__Mode) \
|
|
735
|
+
__INTRINSIC_STORE_ULONG(__Mode)
|
|
736
|
+
|
|
737
|
+
__INTRINSIC_STORE_FAMILY(cg)
|
|
738
|
+
__INTRINSIC_STORE_FAMILY(cs)
|
|
739
|
+
__INTRINSIC_STORE_FAMILY(wb)
|
|
740
|
+
__INTRINSIC_STORE_FAMILY(wt)
|
|
741
|
+
|
|
742
|
+
#pragma pop_macro("__INTRINSIC_STORE")
|
|
743
|
+
#pragma pop_macro("__INTRINSIC_STORE2")
|
|
744
|
+
#pragma pop_macro("__INTRINSIC_STORE4")
|
|
745
|
+
#pragma pop_macro("__INTRINSIC_STORE_LONG")
|
|
746
|
+
#pragma pop_macro("__INTRINSIC_STORE_ULONG")
|
|
747
|
+
#pragma pop_macro("__INTRINSIC_STORE_FAMILY")
|
|
748
|
+
|
|
749
|
+
#endif // defined(__cplusplus) && (__cplusplus >= 201103L)
|
|
482
750
|
#endif // !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 320
|
|
483
751
|
|
|
484
752
|
#if CUDA_VERSION >= 11000
|
|
@@ -515,32 +783,32 @@ __device__ inline cuuint32_t __nvvm_get_smem_pointer(void *__ptr) {
|
|
|
515
783
|
#if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 800
|
|
516
784
|
__device__ inline unsigned __reduce_add_sync(unsigned __mask,
|
|
517
785
|
unsigned __value) {
|
|
518
|
-
return __nvvm_redux_sync_add(
|
|
786
|
+
return __nvvm_redux_sync_add(__value, __mask);
|
|
519
787
|
}
|
|
520
788
|
__device__ inline unsigned __reduce_min_sync(unsigned __mask,
|
|
521
789
|
unsigned __value) {
|
|
522
|
-
return __nvvm_redux_sync_umin(
|
|
790
|
+
return __nvvm_redux_sync_umin(__value, __mask);
|
|
523
791
|
}
|
|
524
792
|
__device__ inline unsigned __reduce_max_sync(unsigned __mask,
|
|
525
793
|
unsigned __value) {
|
|
526
|
-
return __nvvm_redux_sync_umax(
|
|
794
|
+
return __nvvm_redux_sync_umax(__value, __mask);
|
|
527
795
|
}
|
|
528
796
|
__device__ inline int __reduce_min_sync(unsigned __mask, int __value) {
|
|
529
|
-
return __nvvm_redux_sync_min(
|
|
797
|
+
return __nvvm_redux_sync_min(__value, __mask);
|
|
530
798
|
}
|
|
531
799
|
__device__ inline int __reduce_max_sync(unsigned __mask, int __value) {
|
|
532
|
-
return __nvvm_redux_sync_max(
|
|
800
|
+
return __nvvm_redux_sync_max(__value, __mask);
|
|
533
801
|
}
|
|
534
802
|
__device__ inline unsigned __reduce_or_sync(unsigned __mask, unsigned __value) {
|
|
535
|
-
return __nvvm_redux_sync_or(
|
|
803
|
+
return __nvvm_redux_sync_or(__value, __mask);
|
|
536
804
|
}
|
|
537
805
|
__device__ inline unsigned __reduce_and_sync(unsigned __mask,
|
|
538
806
|
unsigned __value) {
|
|
539
|
-
return __nvvm_redux_sync_and(
|
|
807
|
+
return __nvvm_redux_sync_and(__value, __mask);
|
|
540
808
|
}
|
|
541
809
|
__device__ inline unsigned __reduce_xor_sync(unsigned __mask,
|
|
542
810
|
unsigned __value) {
|
|
543
|
-
return __nvvm_redux_sync_xor(
|
|
811
|
+
return __nvvm_redux_sync_xor(__value, __mask);
|
|
544
812
|
}
|
|
545
813
|
|
|
546
814
|
__device__ inline void __nv_memcpy_async_shared_global_4(void *__dst,
|
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
#error "This file is for CUDA compilation only."
|
|
13
13
|
#endif
|
|
14
14
|
|
|
15
|
+
// The __CLANG_GPU_DISABLE_MATH_WRAPPERS macro provides a way to let standard
|
|
16
|
+
// libcalls reach the link step instead of being eagerly replaced.
|
|
17
|
+
#ifndef __CLANG_GPU_DISABLE_MATH_WRAPPERS
|
|
18
|
+
|
|
15
19
|
#ifndef __OPENMP_NVPTX__
|
|
16
20
|
#if CUDA_VERSION < 9000
|
|
17
21
|
#error This file is intended to be used with CUDA-9+ only.
|
|
@@ -345,4 +349,5 @@ __DEVICE__ float ynf(int __a, float __b) { return __nv_ynf(__a, __b); }
|
|
|
345
349
|
#pragma pop_macro("__DEVICE_VOID__")
|
|
346
350
|
#pragma pop_macro("__FAST_OR_SLOW")
|
|
347
351
|
|
|
352
|
+
#endif // __CLANG_GPU_DISABLE_MATH_WRAPPERS
|
|
348
353
|
#endif // __CLANG_CUDA_MATH_H__
|