@cpp-linter/clang-tidy-win32-x64 19.1.0 → 21.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/clang-tidy.exe +2 -2
- package/lib/clang/{19 → 21}/include/__clang_cuda_device_functions.h +14 -0
- package/lib/clang/{19 → 21}/include/__clang_cuda_intrinsics.h +295 -8
- package/lib/clang/{19 → 21}/include/__clang_cuda_math.h +5 -0
- package/lib/clang/{19 → 21}/include/__clang_cuda_runtime_wrapper.h +1 -0
- package/lib/clang/{19 → 21}/include/__clang_cuda_texture_intrinsics.h +437 -2
- package/lib/clang/{19 → 21}/include/__clang_hip_cmath.h +15 -9
- package/lib/clang/{19 → 21}/include/__clang_hip_libdevice_declares.h +12 -20
- package/lib/clang/{19 → 21}/include/__clang_hip_math.h +110 -29
- package/lib/clang/{19 → 21}/include/__clang_hip_runtime_wrapper.h +3 -0
- package/lib/clang/21/include/__clang_spirv_builtins.h +217 -0
- package/lib/clang/{19 → 21}/include/__stdarg_va_arg.h +2 -2
- package/lib/clang/{19 → 21}/include/adcintrin.h +5 -0
- package/lib/clang/{19 → 21}/include/adxintrin.h +5 -0
- package/lib/clang/{19 → 21}/include/altivec.h +90 -87
- package/lib/clang/21/include/amdgpuintrin.h +191 -0
- package/lib/clang/21/include/amxavx512intrin.h +382 -0
- package/lib/clang/21/include/amxbf16transposeintrin.h +94 -0
- package/lib/clang/{19 → 21}/include/amxcomplexintrin.h +4 -6
- package/lib/clang/21/include/amxcomplextransposeintrin.h +303 -0
- package/lib/clang/{19 → 21}/include/amxfp16intrin.h +35 -0
- package/lib/clang/21/include/amxfp16transposeintrin.h +94 -0
- package/lib/clang/21/include/amxfp8intrin.h +230 -0
- package/lib/clang/{19 → 21}/include/amxintrin.h +5 -35
- package/lib/clang/21/include/amxmovrsintrin.h +48 -0
- package/lib/clang/21/include/amxmovrstransposeintrin.h +200 -0
- package/lib/clang/21/include/amxtf32intrin.h +108 -0
- package/lib/clang/21/include/amxtf32transposeintrin.h +105 -0
- package/lib/clang/21/include/amxtransposeintrin.h +248 -0
- package/lib/clang/{19/include/hlsl.h → 21/include/andes_vector.h} +7 -6
- package/lib/clang/{19 → 21}/include/arm_acle.h +29 -62
- package/lib/clang/{19 → 21}/include/arm_fp16.h +89 -89
- package/lib/clang/{19 → 21}/include/arm_neon.h +24549 -20140
- package/lib/clang/{19 → 21}/include/arm_sme.h +1016 -94
- package/lib/clang/{19 → 21}/include/arm_sve.h +4633 -3272
- package/lib/clang/{19 → 21}/include/arm_vector_types.h +87 -0
- package/lib/clang/21/include/avx10_2_512bf16intrin.h +561 -0
- package/lib/clang/21/include/avx10_2_512convertintrin.h +322 -0
- package/lib/clang/21/include/avx10_2_512minmaxintrin.h +127 -0
- package/lib/clang/21/include/avx10_2_512niintrin.h +314 -0
- package/lib/clang/21/include/avx10_2_512satcvtdsintrin.h +307 -0
- package/lib/clang/21/include/avx10_2_512satcvtintrin.h +301 -0
- package/lib/clang/21/include/avx10_2bf16intrin.h +1085 -0
- package/lib/clang/21/include/avx10_2convertintrin.h +3257 -0
- package/lib/clang/21/include/avx10_2copyintrin.h +66 -0
- package/lib/clang/21/include/avx10_2minmaxintrin.h +232 -0
- package/lib/clang/21/include/avx10_2niintrin.h +409 -0
- package/lib/clang/21/include/avx10_2satcvtdsintrin.h +376 -0
- package/lib/clang/21/include/avx10_2satcvtintrin.h +312 -0
- package/lib/clang/{19 → 21}/include/avx2intrin.h +9 -0
- package/lib/clang/{19 → 21}/include/avx512bitalgintrin.h +2 -2
- package/lib/clang/{19 → 21}/include/avx512fintrin.h +22 -14
- package/lib/clang/{19 → 21}/include/avx512fp16intrin.h +2 -1
- package/lib/clang/{19 → 21}/include/avx512vlbitalgintrin.h +4 -4
- package/lib/clang/{19 → 21}/include/avx512vpopcntdqintrin.h +12 -4
- package/lib/clang/{19 → 21}/include/avx512vpopcntdqvlintrin.h +16 -8
- package/lib/clang/{19 → 21}/include/avxintrin.h +30 -16
- package/lib/clang/{19 → 21}/include/avxvnniint16intrin.h +36 -77
- package/lib/clang/{19 → 21}/include/avxvnniint8intrin.h +36 -77
- package/lib/clang/{19 → 21}/include/bmi2intrin.h +15 -17
- package/lib/clang/{19 → 21}/include/bmiintrin.h +31 -41
- package/lib/clang/{19 → 21}/include/cmpccxaddintrin.h +1 -1
- package/lib/clang/{19 → 21}/include/cpuid.h +36 -33
- package/lib/clang/21/include/cuda_wrappers/bits/c++config.h +61 -0
- package/lib/clang/21/include/cuda_wrappers/cmath +44 -0
- package/lib/clang/{19 → 21}/include/cuda_wrappers/new +2 -0
- package/lib/clang/{19 → 21}/include/emmintrin.h +141 -107
- package/lib/clang/{19 → 21}/include/float.h +2 -11
- package/lib/clang/{19 → 21}/include/gfniintrin.h +32 -10
- package/lib/clang/21/include/gpuintrin.h +328 -0
- package/lib/clang/{19 → 21}/include/hexagon_types.h +8 -4
- package/lib/clang/{19/include/hlsl/hlsl_intrinsics.h → 21/include/hlsl/hlsl_alias_intrinsics.h} +1214 -100
- package/lib/clang/{19 → 21}/include/hlsl/hlsl_basic_types.h +47 -1
- package/lib/clang/21/include/hlsl/hlsl_compat_overloads.h +427 -0
- package/lib/clang/21/include/hlsl/hlsl_detail.h +54 -0
- package/lib/clang/21/include/hlsl/hlsl_intrinsic_helpers.h +144 -0
- package/lib/clang/21/include/hlsl/hlsl_intrinsics.h +526 -0
- package/lib/clang/21/include/hlsl/hlsl_spirv.h +28 -0
- package/lib/clang/21/include/hlsl.h +38 -0
- package/lib/clang/{19 → 21}/include/hvx_hexagon_protos.h +427 -0
- package/lib/clang/{19 → 21}/include/immintrin.h +45 -185
- package/lib/clang/{19 → 21}/include/intrin.h +41 -14
- package/lib/clang/{19 → 21}/include/intrin0.h +10 -1
- package/lib/clang/{19 → 21}/include/keylockerintrin.h +0 -9
- package/lib/clang/{19 → 21}/include/larchintrin.h +22 -8
- package/lib/clang/{19 → 21}/include/lasxintrin.h +27 -25
- package/lib/clang/{19 → 21}/include/limits.h +7 -4
- package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/ctype.h +38 -0
- package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/stdlib.h +9 -1
- package/lib/clang/21/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
- package/lib/clang/21/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
- package/lib/clang/21/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
- package/lib/clang/{19 → 21}/include/lsxintrin.h +27 -25
- package/lib/clang/{19 → 21}/include/lzcntintrin.h +13 -8
- package/lib/clang/{19 → 21}/include/mmintrin.h +209 -155
- package/lib/clang/{19 → 21}/include/module.modulemap +15 -4
- package/lib/clang/21/include/movrs_avx10_2_512intrin.h +98 -0
- package/lib/clang/21/include/movrs_avx10_2intrin.h +174 -0
- package/lib/clang/21/include/movrsintrin.h +59 -0
- package/lib/clang/21/include/nvptxintrin.h +219 -0
- package/lib/clang/{19 → 21}/include/opencl-c-base.h +23 -1
- package/lib/clang/{19 → 21}/include/opencl-c.h +298 -39
- package/lib/clang/{19 → 21}/include/openmp_wrappers/__clang_openmp_device_functions.h +4 -5
- package/lib/clang/{19 → 21}/include/openmp_wrappers/complex_cmath.h +7 -2
- package/lib/clang/{19 → 21}/include/pmmintrin.h +16 -3
- package/lib/clang/{19 → 21}/include/popcntintrin.h +7 -7
- package/lib/clang/{19 → 21}/include/prfchwintrin.h +10 -13
- package/lib/clang/{19 → 21}/include/ptrauth.h +65 -2
- package/lib/clang/21/include/riscv_corev_alu.h +128 -0
- package/lib/clang/{19 → 21}/include/riscv_vector.h +0 -5
- package/lib/clang/{19 → 21}/include/shaintrin.h +3 -2
- package/lib/clang/21/include/sm4evexintrin.h +32 -0
- package/lib/clang/{19 → 21}/include/smmintrin.h +6 -0
- package/lib/clang/{19 → 21}/include/stdalign.h +0 -5
- package/lib/clang/21/include/stdcountof.h +15 -0
- package/lib/clang/{19 → 21}/include/stdint.h +18 -129
- package/lib/clang/{19 → 21}/include/tbmintrin.h +25 -37
- package/lib/clang/{19 → 21}/include/tmmintrin.h +64 -38
- package/lib/clang/{19 → 21}/include/vecintrin.h +1784 -61
- package/lib/clang/{19 → 21}/include/wasm_simd128.h +167 -21
- package/lib/clang/{19 → 21}/include/x86gprintrin.h +0 -14
- package/lib/clang/{19 → 21}/include/x86intrin.h +0 -18
- package/lib/clang/{19 → 21}/include/xmmintrin.h +173 -179
- package/package.json +6 -6
- package/lib/clang/19/include/cuda_wrappers/cmath +0 -90
- /package/lib/clang/{19 → 21}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{19 → 21}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{19 → 21}/include/__clang_cuda_complex_builtins.h +0 -0
- /package/lib/clang/{19 → 21}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{19 → 21}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{19 → 21}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stdarg___gnuc_va_list.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stdarg___va_copy.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stdarg_header_macro.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stdarg_va_copy.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stdarg_va_list.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_header_macro.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_null.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_nullptr_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_offsetof.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_ptrdiff_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_rsize_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_size_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_unreachable.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_wchar_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_wint_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{19 → 21}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{19 → 21}/include/ammintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/arm64intr.h +0 -0
- /package/lib/clang/{19 → 21}/include/arm_bf16.h +0 -0
- /package/lib/clang/{19 → 21}/include/arm_cde.h +0 -0
- /package/lib/clang/{19 → 21}/include/arm_cmse.h +0 -0
- /package/lib/clang/{19 → 21}/include/arm_mve.h +0 -0
- /package/lib/clang/{19 → 21}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{19 → 21}/include/armintr.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512bf16intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512bwintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512cdintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512dqintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512ifmaintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512ifmavlintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vbmi2intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vbmiintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vbmivlintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlbf16intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlbwintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlcdintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vldqintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlfp16intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlvbmi2intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlvnniintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vnniintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vp2intersectintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avxifmaintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/builtins.h +0 -0
- /package/lib/clang/{19 → 21}/include/cet.h +0 -0
- /package/lib/clang/{19 → 21}/include/cetintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/clwbintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/clzerointrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/crc32intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{19 → 21}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{19 → 21}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{19 → 21}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{19 → 21}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{19 → 21}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/f16cintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/fma4intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/fmaintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{19 → 21}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{19 → 21}/include/hresetintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/htmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ia32intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/inttypes.h +0 -0
- /package/lib/clang/{19 → 21}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/iso646.h +0 -0
- /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/assert.h +0 -0
- /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/inttypes.h +0 -0
- /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/stdio.h +0 -0
- /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/string.h +0 -0
- /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/time.h +0 -0
- /package/lib/clang/{19 → 21}/include/lwpintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/mm3dnow.h +0 -0
- /package/lib/clang/{19 → 21}/include/mm_malloc.h +0 -0
- /package/lib/clang/{19 → 21}/include/movdirintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/msa.h +0 -0
- /package/lib/clang/{19 → 21}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/nmmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{19 → 21}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{19 → 21}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{19 → 21}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{19 → 21}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{19 → 21}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/pkuintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/nmmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/smmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/raointintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/riscv_bitmanip.h +0 -0
- /package/lib/clang/{19 → 21}/include/riscv_crypto.h +0 -0
- /package/lib/clang/{19 → 21}/include/riscv_ntlh.h +0 -0
- /package/lib/clang/{19 → 21}/include/rtmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/s390intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/serializeintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/sgxintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/sha512intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/sifive_vector.h +0 -0
- /package/lib/clang/{19 → 21}/include/sm3intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/sm4intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/stdarg.h +0 -0
- /package/lib/clang/{19 → 21}/include/stdatomic.h +0 -0
- /package/lib/clang/{19 → 21}/include/stdbool.h +0 -0
- /package/lib/clang/{19 → 21}/include/stdckdint.h +0 -0
- /package/lib/clang/{19 → 21}/include/stddef.h +0 -0
- /package/lib/clang/{19 → 21}/include/stdnoreturn.h +0 -0
- /package/lib/clang/{19 → 21}/include/tgmath.h +0 -0
- /package/lib/clang/{19 → 21}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/uintrintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/unwind.h +0 -0
- /package/lib/clang/{19 → 21}/include/usermsrintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/vadefs.h +0 -0
- /package/lib/clang/{19 → 21}/include/vaesintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/varargs.h +0 -0
- /package/lib/clang/{19 → 21}/include/velintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{19 → 21}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{19 → 21}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/wmmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/xopintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/xtestintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/yvals_core.h +0 -0
- /package/lib/clang/{19 → 21}/include/zos_wrappers/builtins.h +0 -0
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
#error "This file is for HIP and OpenMP AMDGCN device compilation only."
|
|
14
14
|
#endif
|
|
15
15
|
|
|
16
|
+
// The __CLANG_GPU_DISABLE_MATH_WRAPPERS macro provides a way to let standard
|
|
17
|
+
// libcalls reach the link step instead of being eagerly replaced.
|
|
18
|
+
#ifndef __CLANG_GPU_DISABLE_MATH_WRAPPERS
|
|
19
|
+
|
|
16
20
|
#if !defined(__HIPCC_RTC__)
|
|
17
21
|
#include <limits.h>
|
|
18
22
|
#include <stdint.h>
|
|
@@ -29,6 +33,9 @@
|
|
|
29
33
|
#define __DEVICE__ static __device__ inline __attribute__((always_inline))
|
|
30
34
|
#endif
|
|
31
35
|
|
|
36
|
+
#pragma push_macro("__PRIVATE_AS")
|
|
37
|
+
|
|
38
|
+
#define __PRIVATE_AS __attribute__((opencl_private))
|
|
32
39
|
// Device library provides fast low precision and slow full-recision
|
|
33
40
|
// implementations for some functions. Which one gets selected depends on
|
|
34
41
|
// __CLANG_GPU_APPROX_TRANSCENDENTALS__ which gets defined by clang if
|
|
@@ -385,7 +392,7 @@ __DEVICE__
|
|
|
385
392
|
float erfinvf(float __x) { return __ocml_erfinv_f32(__x); }
|
|
386
393
|
|
|
387
394
|
__DEVICE__
|
|
388
|
-
float exp10f(float __x) { return
|
|
395
|
+
float exp10f(float __x) { return __builtin_exp10f(__x); }
|
|
389
396
|
|
|
390
397
|
__DEVICE__
|
|
391
398
|
float exp2f(float __x) { return __builtin_exp2f(__x); }
|
|
@@ -488,13 +495,13 @@ __DEVICE__
|
|
|
488
495
|
float log1pf(float __x) { return __ocml_log1p_f32(__x); }
|
|
489
496
|
|
|
490
497
|
__DEVICE__
|
|
491
|
-
float log2f(float __x) { return __FAST_OR_SLOW(__log2f,
|
|
498
|
+
float log2f(float __x) { return __FAST_OR_SLOW(__log2f, __builtin_log2f)(__x); }
|
|
492
499
|
|
|
493
500
|
__DEVICE__
|
|
494
501
|
float logbf(float __x) { return __ocml_logb_f32(__x); }
|
|
495
502
|
|
|
496
503
|
__DEVICE__
|
|
497
|
-
float logf(float __x) { return __FAST_OR_SLOW(__logf,
|
|
504
|
+
float logf(float __x) { return __FAST_OR_SLOW(__logf, __builtin_logf)(__x); }
|
|
498
505
|
|
|
499
506
|
__DEVICE__
|
|
500
507
|
long int lrintf(float __x) { return __builtin_rintf(__x); }
|
|
@@ -508,8 +515,7 @@ float modff(float __x, float *__iptr) {
|
|
|
508
515
|
#ifdef __OPENMP_AMDGCN__
|
|
509
516
|
#pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
|
|
510
517
|
#endif
|
|
511
|
-
float __r =
|
|
512
|
-
__ocml_modf_f32(__x, (__attribute__((address_space(5))) float *)&__tmp);
|
|
518
|
+
float __r = __ocml_modf_f32(__x, (__PRIVATE_AS float *)&__tmp);
|
|
513
519
|
*__iptr = __tmp;
|
|
514
520
|
return __r;
|
|
515
521
|
}
|
|
@@ -591,8 +597,7 @@ float remquof(float __x, float __y, int *__quo) {
|
|
|
591
597
|
#ifdef __OPENMP_AMDGCN__
|
|
592
598
|
#pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
|
|
593
599
|
#endif
|
|
594
|
-
float __r = __ocml_remquo_f32(
|
|
595
|
-
__x, __y, (__attribute__((address_space(5))) int *)&__tmp);
|
|
600
|
+
float __r = __ocml_remquo_f32(__x, __y, (__PRIVATE_AS int *)&__tmp);
|
|
596
601
|
*__quo = __tmp;
|
|
597
602
|
|
|
598
603
|
return __r;
|
|
@@ -634,8 +639,11 @@ float rsqrtf(float __x) { return __ocml_rsqrt_f32(__x); }
|
|
|
634
639
|
|
|
635
640
|
__DEVICE__
|
|
636
641
|
float scalblnf(float __x, long int __n) {
|
|
637
|
-
|
|
638
|
-
|
|
642
|
+
if (__n > INT_MAX)
|
|
643
|
+
__n = INT_MAX;
|
|
644
|
+
else if (__n < INT_MIN)
|
|
645
|
+
__n = INT_MIN;
|
|
646
|
+
return __builtin_ldexpf(__x, (int)__n);
|
|
639
647
|
}
|
|
640
648
|
|
|
641
649
|
__DEVICE__
|
|
@@ -653,8 +661,7 @@ void sincosf(float __x, float *__sinptr, float *__cosptr) {
|
|
|
653
661
|
#ifdef __CLANG_CUDA_APPROX_TRANSCENDENTALS__
|
|
654
662
|
__sincosf(__x, __sinptr, __cosptr);
|
|
655
663
|
#else
|
|
656
|
-
*__sinptr =
|
|
657
|
-
__ocml_sincos_f32(__x, (__attribute__((address_space(5))) float *)&__tmp);
|
|
664
|
+
*__sinptr = __ocml_sincos_f32(__x, (__PRIVATE_AS float *)&__tmp);
|
|
658
665
|
*__cosptr = __tmp;
|
|
659
666
|
#endif
|
|
660
667
|
}
|
|
@@ -665,8 +672,7 @@ void sincospif(float __x, float *__sinptr, float *__cosptr) {
|
|
|
665
672
|
#ifdef __OPENMP_AMDGCN__
|
|
666
673
|
#pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
|
|
667
674
|
#endif
|
|
668
|
-
*__sinptr = __ocml_sincospi_f32(
|
|
669
|
-
__x, (__attribute__((address_space(5))) float *)&__tmp);
|
|
675
|
+
*__sinptr = __ocml_sincospi_f32(__x, (__PRIVATE_AS float *)&__tmp);
|
|
670
676
|
*__cosptr = __tmp;
|
|
671
677
|
}
|
|
672
678
|
|
|
@@ -909,8 +915,7 @@ double modf(double __x, double *__iptr) {
|
|
|
909
915
|
#ifdef __OPENMP_AMDGCN__
|
|
910
916
|
#pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
|
|
911
917
|
#endif
|
|
912
|
-
double __r =
|
|
913
|
-
__ocml_modf_f64(__x, (__attribute__((address_space(5))) double *)&__tmp);
|
|
918
|
+
double __r = __ocml_modf_f64(__x, (__PRIVATE_AS double *)&__tmp);
|
|
914
919
|
*__iptr = __tmp;
|
|
915
920
|
|
|
916
921
|
return __r;
|
|
@@ -1000,8 +1005,7 @@ double remquo(double __x, double __y, int *__quo) {
|
|
|
1000
1005
|
#ifdef __OPENMP_AMDGCN__
|
|
1001
1006
|
#pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
|
|
1002
1007
|
#endif
|
|
1003
|
-
double __r = __ocml_remquo_f64(
|
|
1004
|
-
__x, __y, (__attribute__((address_space(5))) int *)&__tmp);
|
|
1008
|
+
double __r = __ocml_remquo_f64(__x, __y, (__PRIVATE_AS int *)&__tmp);
|
|
1005
1009
|
*__quo = __tmp;
|
|
1006
1010
|
|
|
1007
1011
|
return __r;
|
|
@@ -1043,8 +1047,11 @@ double rsqrt(double __x) { return __ocml_rsqrt_f64(__x); }
|
|
|
1043
1047
|
|
|
1044
1048
|
__DEVICE__
|
|
1045
1049
|
double scalbln(double __x, long int __n) {
|
|
1046
|
-
|
|
1047
|
-
|
|
1050
|
+
if (__n > INT_MAX)
|
|
1051
|
+
__n = INT_MAX;
|
|
1052
|
+
else if (__n < INT_MIN)
|
|
1053
|
+
__n = INT_MIN;
|
|
1054
|
+
return __builtin_ldexp(__x, (int)__n);
|
|
1048
1055
|
}
|
|
1049
1056
|
__DEVICE__
|
|
1050
1057
|
double scalbn(double __x, int __n) { return __builtin_amdgcn_ldexp(__x, __n); }
|
|
@@ -1061,8 +1068,7 @@ void sincos(double __x, double *__sinptr, double *__cosptr) {
|
|
|
1061
1068
|
#ifdef __OPENMP_AMDGCN__
|
|
1062
1069
|
#pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
|
|
1063
1070
|
#endif
|
|
1064
|
-
*__sinptr = __ocml_sincos_f64(
|
|
1065
|
-
__x, (__attribute__((address_space(5))) double *)&__tmp);
|
|
1071
|
+
*__sinptr = __ocml_sincos_f64(__x, (__PRIVATE_AS double *)&__tmp);
|
|
1066
1072
|
*__cosptr = __tmp;
|
|
1067
1073
|
}
|
|
1068
1074
|
|
|
@@ -1072,8 +1078,7 @@ void sincospi(double __x, double *__sinptr, double *__cosptr) {
|
|
|
1072
1078
|
#ifdef __OPENMP_AMDGCN__
|
|
1073
1079
|
#pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
|
|
1074
1080
|
#endif
|
|
1075
|
-
*__sinptr = __ocml_sincospi_f64(
|
|
1076
|
-
__x, (__attribute__((address_space(5))) double *)&__tmp);
|
|
1081
|
+
*__sinptr = __ocml_sincospi_f64(__x, (__PRIVATE_AS double *)&__tmp);
|
|
1077
1082
|
*__cosptr = __tmp;
|
|
1078
1083
|
}
|
|
1079
1084
|
|
|
@@ -1306,19 +1311,95 @@ float min(float __x, float __y) { return __builtin_fminf(__x, __y); }
|
|
|
1306
1311
|
__DEVICE__
|
|
1307
1312
|
double min(double __x, double __y) { return __builtin_fmin(__x, __y); }
|
|
1308
1313
|
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1314
|
+
// Define host min/max functions.
|
|
1315
|
+
#if !defined(__HIPCC_RTC__) && !defined(__OPENMP_AMDGCN__) && \
|
|
1316
|
+
!defined(__HIP_NO_HOST_MIN_MAX_IN_GLOBAL_NAMESPACE__)
|
|
1317
|
+
|
|
1318
|
+
// TODO: make this default to 1 after existing HIP apps adopting this change.
|
|
1319
|
+
#ifndef __HIP_DEFINE_EXTENDED_HOST_MIN_MAX__
|
|
1320
|
+
#define __HIP_DEFINE_EXTENDED_HOST_MIN_MAX__ 0
|
|
1321
|
+
#endif
|
|
1322
|
+
|
|
1323
|
+
#ifndef __HIP_DEFINE_MIXED_HOST_MIN_MAX__
|
|
1324
|
+
#define __HIP_DEFINE_MIXED_HOST_MIN_MAX__ 0
|
|
1325
|
+
#endif
|
|
1326
|
+
|
|
1327
|
+
#pragma push_macro("DEFINE_MIN_MAX_FUNCTIONS")
|
|
1328
|
+
#pragma push_macro("DEFINE_MIN_MAX_FUNCTIONS")
|
|
1329
|
+
#define DEFINE_MIN_MAX_FUNCTIONS(ret_type, type1, type2) \
|
|
1330
|
+
inline ret_type min(const type1 __a, const type2 __b) { \
|
|
1331
|
+
return (__a < __b) ? __a : __b; \
|
|
1332
|
+
} \
|
|
1333
|
+
inline ret_type max(const type1 __a, const type2 __b) { \
|
|
1334
|
+
return (__a > __b) ? __a : __b; \
|
|
1335
|
+
}
|
|
1336
|
+
|
|
1337
|
+
// Define min and max functions for same type comparisons
|
|
1338
|
+
DEFINE_MIN_MAX_FUNCTIONS(int, int, int)
|
|
1339
|
+
|
|
1340
|
+
#if __HIP_DEFINE_EXTENDED_HOST_MIN_MAX__
|
|
1341
|
+
DEFINE_MIN_MAX_FUNCTIONS(unsigned int, unsigned int, unsigned int)
|
|
1342
|
+
DEFINE_MIN_MAX_FUNCTIONS(long, long, long)
|
|
1343
|
+
DEFINE_MIN_MAX_FUNCTIONS(unsigned long, unsigned long, unsigned long)
|
|
1344
|
+
DEFINE_MIN_MAX_FUNCTIONS(long long, long long, long long)
|
|
1345
|
+
DEFINE_MIN_MAX_FUNCTIONS(unsigned long long, unsigned long long,
|
|
1346
|
+
unsigned long long)
|
|
1347
|
+
#endif // if __HIP_DEFINE_EXTENDED_HOST_MIN_MAX__
|
|
1348
|
+
|
|
1349
|
+
// The host min/max functions below accept mixed signed/unsigned integer
|
|
1350
|
+
// parameters and perform unsigned comparisons, which may produce unexpected
|
|
1351
|
+
// results if a signed integer was passed unintentionally. To avoid this
|
|
1352
|
+
// happening silently, these overloaded functions are not defined by default.
|
|
1353
|
+
// However, for compatibility with CUDA, they will be defined if users define
|
|
1354
|
+
// __HIP_DEFINE_MIXED_HOST_MIN_MAX__.
|
|
1355
|
+
#if __HIP_DEFINE_MIXED_HOST_MIN_MAX__
|
|
1356
|
+
DEFINE_MIN_MAX_FUNCTIONS(unsigned int, int, unsigned int)
|
|
1357
|
+
DEFINE_MIN_MAX_FUNCTIONS(unsigned int, unsigned int, int)
|
|
1358
|
+
DEFINE_MIN_MAX_FUNCTIONS(unsigned long, long, unsigned long)
|
|
1359
|
+
DEFINE_MIN_MAX_FUNCTIONS(unsigned long, unsigned long, long)
|
|
1360
|
+
DEFINE_MIN_MAX_FUNCTIONS(unsigned long long, long long, unsigned long long)
|
|
1361
|
+
DEFINE_MIN_MAX_FUNCTIONS(unsigned long long, unsigned long long, long long)
|
|
1362
|
+
#endif // if __HIP_DEFINE_MIXED_HOST_MIN_MAX__
|
|
1363
|
+
|
|
1364
|
+
// Floating-point comparisons using built-in functions
|
|
1365
|
+
#if __HIP_DEFINE_EXTENDED_HOST_MIN_MAX__
|
|
1366
|
+
inline float min(float const __a, float const __b) {
|
|
1367
|
+
return __builtin_fminf(__a, __b);
|
|
1368
|
+
}
|
|
1369
|
+
inline double min(double const __a, double const __b) {
|
|
1370
|
+
return __builtin_fmin(__a, __b);
|
|
1371
|
+
}
|
|
1372
|
+
inline double min(float const __a, double const __b) {
|
|
1373
|
+
return __builtin_fmin(__a, __b);
|
|
1374
|
+
}
|
|
1375
|
+
inline double min(double const __a, float const __b) {
|
|
1376
|
+
return __builtin_fmin(__a, __b);
|
|
1312
1377
|
}
|
|
1313
1378
|
|
|
1314
|
-
|
|
1315
|
-
return
|
|
1379
|
+
inline float max(float const __a, float const __b) {
|
|
1380
|
+
return __builtin_fmaxf(__a, __b);
|
|
1316
1381
|
}
|
|
1317
|
-
|
|
1382
|
+
inline double max(double const __a, double const __b) {
|
|
1383
|
+
return __builtin_fmax(__a, __b);
|
|
1384
|
+
}
|
|
1385
|
+
inline double max(float const __a, double const __b) {
|
|
1386
|
+
return __builtin_fmax(__a, __b);
|
|
1387
|
+
}
|
|
1388
|
+
inline double max(double const __a, float const __b) {
|
|
1389
|
+
return __builtin_fmax(__a, __b);
|
|
1390
|
+
}
|
|
1391
|
+
#endif // if __HIP_DEFINE_EXTENDED_HOST_MIN_MAX__
|
|
1392
|
+
|
|
1393
|
+
#pragma pop_macro("DEFINE_MIN_MAX_FUNCTIONS")
|
|
1394
|
+
|
|
1395
|
+
#endif // !defined(__HIPCC_RTC__) && !defined(__OPENMP_AMDGCN__) &&
|
|
1396
|
+
// !defined(__HIP_NO_HOST_MIN_MAX_IN_GLOBAL_NAMESPACE__)
|
|
1318
1397
|
#endif
|
|
1319
1398
|
|
|
1320
1399
|
#pragma pop_macro("__DEVICE__")
|
|
1400
|
+
#pragma pop_macro("__PRIVATE_AS")
|
|
1321
1401
|
#pragma pop_macro("__RETURN_TYPE")
|
|
1322
1402
|
#pragma pop_macro("__FAST_OR_SLOW")
|
|
1323
1403
|
|
|
1404
|
+
#endif // __CLANG_GPU_DISABLE_MATH_WRAPPERS
|
|
1324
1405
|
#endif // __CLANG_HIP_MATH_H__
|
|
@@ -125,11 +125,13 @@ typedef __SIZE_TYPE__ size_t;
|
|
|
125
125
|
#pragma push_macro("uint64_t")
|
|
126
126
|
#pragma push_macro("CHAR_BIT")
|
|
127
127
|
#pragma push_macro("INT_MAX")
|
|
128
|
+
#pragma push_macro("INT_MIN")
|
|
128
129
|
#define NULL (void *)0
|
|
129
130
|
#define uint32_t __UINT32_TYPE__
|
|
130
131
|
#define uint64_t __UINT64_TYPE__
|
|
131
132
|
#define CHAR_BIT __CHAR_BIT__
|
|
132
133
|
#define INT_MAX __INTMAX_MAX__
|
|
134
|
+
#define INT_MIN (-__INT_MAX__ - 1)
|
|
133
135
|
#endif // __HIPCC_RTC__
|
|
134
136
|
|
|
135
137
|
#include <__clang_hip_libdevice_declares.h>
|
|
@@ -154,6 +156,7 @@ typedef __SIZE_TYPE__ size_t;
|
|
|
154
156
|
#pragma pop_macro("uint64_t")
|
|
155
157
|
#pragma pop_macro("CHAR_BIT")
|
|
156
158
|
#pragma pop_macro("INT_MAX")
|
|
159
|
+
#pragma pop_macro("INT_MIN")
|
|
157
160
|
#endif // __HIPCC_RTC__
|
|
158
161
|
#endif // __HIP__
|
|
159
162
|
#endif // __CLANG_HIP_RUNTIME_WRAPPER_H__
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
/*===---- spirv_builtin_vars.h - SPIR-V built-in ---------------------------===
|
|
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 __SPIRV_BUILTIN_VARS_H
|
|
11
|
+
#define __SPIRV_BUILTIN_VARS_H
|
|
12
|
+
|
|
13
|
+
#if __cplusplus >= 201103L
|
|
14
|
+
#define __SPIRV_NOEXCEPT noexcept
|
|
15
|
+
#else
|
|
16
|
+
#define __SPIRV_NOEXCEPT
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
#pragma push_macro("__size_t")
|
|
20
|
+
#pragma push_macro("__uint32_t")
|
|
21
|
+
#pragma push_macro("__uint64_t")
|
|
22
|
+
#define __size_t __SIZE_TYPE__
|
|
23
|
+
#define __uint32_t __UINT32_TYPE__
|
|
24
|
+
|
|
25
|
+
#define __SPIRV_overloadable __attribute__((overloadable))
|
|
26
|
+
#define __SPIRV_convergent __attribute__((convergent))
|
|
27
|
+
#define __SPIRV_inline __attribute__((always_inline))
|
|
28
|
+
|
|
29
|
+
#define __global __attribute__((opencl_global))
|
|
30
|
+
#define __local __attribute__((opencl_local))
|
|
31
|
+
#define __private __attribute__((opencl_private))
|
|
32
|
+
#define __constant __attribute__((opencl_constant))
|
|
33
|
+
#ifdef __SYCL_DEVICE_ONLY__
|
|
34
|
+
#define __generic
|
|
35
|
+
#else
|
|
36
|
+
#define __generic __attribute__((opencl_generic))
|
|
37
|
+
#endif
|
|
38
|
+
|
|
39
|
+
// Check if SPIR-V builtins are supported.
|
|
40
|
+
// As the translator doesn't use the LLVM intrinsics (which would be emitted if
|
|
41
|
+
// we use the SPIR-V builtins) we can't rely on the SPIRV32/SPIRV64 etc macros
|
|
42
|
+
// to establish if we can use the builtin alias. We disable builtin altogether
|
|
43
|
+
// if we do not intent to use the backend. So instead of use target macros, rely
|
|
44
|
+
// on a __has_builtin test.
|
|
45
|
+
#if (__has_builtin(__builtin_spirv_num_workgroups))
|
|
46
|
+
#define __SPIRV_BUILTIN_ALIAS(builtin) \
|
|
47
|
+
__attribute__((clang_builtin_alias(builtin)))
|
|
48
|
+
#else
|
|
49
|
+
#define __SPIRV_BUILTIN_ALIAS(builtin)
|
|
50
|
+
#endif
|
|
51
|
+
|
|
52
|
+
// Builtin IDs and sizes
|
|
53
|
+
|
|
54
|
+
extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_num_workgroups) __size_t
|
|
55
|
+
__spirv_NumWorkgroups(int);
|
|
56
|
+
extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_workgroup_size) __size_t
|
|
57
|
+
__spirv_WorkgroupSize(int);
|
|
58
|
+
extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_workgroup_id) __size_t
|
|
59
|
+
__spirv_WorkgroupId(int);
|
|
60
|
+
extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_local_invocation_id) __size_t
|
|
61
|
+
__spirv_LocalInvocationId(int);
|
|
62
|
+
extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_global_invocation_id) __size_t
|
|
63
|
+
__spirv_GlobalInvocationId(int);
|
|
64
|
+
|
|
65
|
+
extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_global_size) __size_t
|
|
66
|
+
__spirv_GlobalSize(int);
|
|
67
|
+
extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_global_offset) __size_t
|
|
68
|
+
__spirv_GlobalOffset(int);
|
|
69
|
+
extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_size) __uint32_t
|
|
70
|
+
__spirv_SubgroupSize();
|
|
71
|
+
extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_max_size) __uint32_t
|
|
72
|
+
__spirv_SubgroupMaxSize();
|
|
73
|
+
extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_num_subgroups) __uint32_t
|
|
74
|
+
__spirv_NumSubgroups();
|
|
75
|
+
extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_id) __uint32_t
|
|
76
|
+
__spirv_SubgroupId();
|
|
77
|
+
extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_local_invocation_id)
|
|
78
|
+
__uint32_t __spirv_SubgroupLocalInvocationId();
|
|
79
|
+
|
|
80
|
+
// OpGenericCastToPtrExplicit
|
|
81
|
+
|
|
82
|
+
extern __SPIRV_overloadable
|
|
83
|
+
__SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
|
|
84
|
+
__global void *__spirv_GenericCastToPtrExplicit_ToGlobal(__generic void *,
|
|
85
|
+
int) __SPIRV_NOEXCEPT;
|
|
86
|
+
extern __SPIRV_overloadable
|
|
87
|
+
__SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
|
|
88
|
+
__global const void *
|
|
89
|
+
__spirv_GenericCastToPtrExplicit_ToGlobal(__generic const void *,
|
|
90
|
+
int) __SPIRV_NOEXCEPT;
|
|
91
|
+
extern __SPIRV_overloadable
|
|
92
|
+
__SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
|
|
93
|
+
__global volatile void *
|
|
94
|
+
__spirv_GenericCastToPtrExplicit_ToGlobal(__generic volatile void *,
|
|
95
|
+
int) __SPIRV_NOEXCEPT;
|
|
96
|
+
extern __SPIRV_overloadable
|
|
97
|
+
__SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
|
|
98
|
+
__global const volatile void *
|
|
99
|
+
__spirv_GenericCastToPtrExplicit_ToGlobal(__generic const volatile void *,
|
|
100
|
+
int) __SPIRV_NOEXCEPT;
|
|
101
|
+
extern __SPIRV_overloadable
|
|
102
|
+
__SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
|
|
103
|
+
__local void *__spirv_GenericCastToPtrExplicit_ToLocal(__generic void *,
|
|
104
|
+
int) __SPIRV_NOEXCEPT;
|
|
105
|
+
extern __SPIRV_overloadable
|
|
106
|
+
__SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
|
|
107
|
+
__local const void *
|
|
108
|
+
__spirv_GenericCastToPtrExplicit_ToLocal(__generic const void *,
|
|
109
|
+
int) __SPIRV_NOEXCEPT;
|
|
110
|
+
extern __SPIRV_overloadable
|
|
111
|
+
__SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
|
|
112
|
+
__local volatile void *
|
|
113
|
+
__spirv_GenericCastToPtrExplicit_ToLocal(__generic volatile void *,
|
|
114
|
+
int) __SPIRV_NOEXCEPT;
|
|
115
|
+
extern __SPIRV_overloadable
|
|
116
|
+
__SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
|
|
117
|
+
__local const volatile void *
|
|
118
|
+
__spirv_GenericCastToPtrExplicit_ToLocal(__generic const volatile void *,
|
|
119
|
+
int) __SPIRV_NOEXCEPT;
|
|
120
|
+
extern __SPIRV_overloadable
|
|
121
|
+
__SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
|
|
122
|
+
__private void *
|
|
123
|
+
__spirv_GenericCastToPtrExplicit_ToPrivate(__generic void *,
|
|
124
|
+
int) __SPIRV_NOEXCEPT;
|
|
125
|
+
extern __SPIRV_overloadable
|
|
126
|
+
__SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
|
|
127
|
+
__private const void *
|
|
128
|
+
__spirv_GenericCastToPtrExplicit_ToPrivate(__generic const void *,
|
|
129
|
+
int) __SPIRV_NOEXCEPT;
|
|
130
|
+
extern __SPIRV_overloadable
|
|
131
|
+
__SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
|
|
132
|
+
__private volatile void *
|
|
133
|
+
__spirv_GenericCastToPtrExplicit_ToPrivate(__generic volatile void *,
|
|
134
|
+
int) __SPIRV_NOEXCEPT;
|
|
135
|
+
extern __SPIRV_overloadable
|
|
136
|
+
__SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
|
|
137
|
+
__private const volatile void *
|
|
138
|
+
__spirv_GenericCastToPtrExplicit_ToPrivate(__generic const volatile void *,
|
|
139
|
+
int) __SPIRV_NOEXCEPT;
|
|
140
|
+
|
|
141
|
+
// OpGenericCastToPtr
|
|
142
|
+
|
|
143
|
+
static __SPIRV_overloadable __SPIRV_inline __global void *
|
|
144
|
+
__spirv_GenericCastToPtr_ToGlobal(__generic void *p, int) __SPIRV_NOEXCEPT {
|
|
145
|
+
return (__global void *)p;
|
|
146
|
+
}
|
|
147
|
+
static __SPIRV_overloadable __SPIRV_inline __global const void *
|
|
148
|
+
__spirv_GenericCastToPtr_ToGlobal(__generic const void *p,
|
|
149
|
+
int) __SPIRV_NOEXCEPT {
|
|
150
|
+
return (__global const void *)p;
|
|
151
|
+
}
|
|
152
|
+
static __SPIRV_overloadable __SPIRV_inline __global volatile void *
|
|
153
|
+
__spirv_GenericCastToPtr_ToGlobal(__generic volatile void *p,
|
|
154
|
+
int) __SPIRV_NOEXCEPT {
|
|
155
|
+
return (__global volatile void *)p;
|
|
156
|
+
}
|
|
157
|
+
static __SPIRV_overloadable __SPIRV_inline __global const volatile void *
|
|
158
|
+
__spirv_GenericCastToPtr_ToGlobal(__generic const volatile void *p,
|
|
159
|
+
int) __SPIRV_NOEXCEPT {
|
|
160
|
+
return (__global const volatile void *)p;
|
|
161
|
+
}
|
|
162
|
+
static __SPIRV_overloadable __SPIRV_inline __local void *
|
|
163
|
+
__spirv_GenericCastToPtr_ToLocal(__generic void *p, int) __SPIRV_NOEXCEPT {
|
|
164
|
+
return (__local void *)p;
|
|
165
|
+
}
|
|
166
|
+
static __SPIRV_overloadable __SPIRV_inline __local const void *
|
|
167
|
+
__spirv_GenericCastToPtr_ToLocal(__generic const void *p,
|
|
168
|
+
int) __SPIRV_NOEXCEPT {
|
|
169
|
+
return (__local const void *)p;
|
|
170
|
+
}
|
|
171
|
+
static __SPIRV_overloadable __SPIRV_inline __local volatile void *
|
|
172
|
+
__spirv_GenericCastToPtr_ToLocal(__generic volatile void *p,
|
|
173
|
+
int) __SPIRV_NOEXCEPT {
|
|
174
|
+
return (__local volatile void *)p;
|
|
175
|
+
}
|
|
176
|
+
static __SPIRV_overloadable __SPIRV_inline __local const volatile void *
|
|
177
|
+
__spirv_GenericCastToPtr_ToLocal(__generic const volatile void *p,
|
|
178
|
+
int) __SPIRV_NOEXCEPT {
|
|
179
|
+
return (__local const volatile void *)p;
|
|
180
|
+
}
|
|
181
|
+
static __SPIRV_overloadable __SPIRV_inline __private void *
|
|
182
|
+
__spirv_GenericCastToPtr_ToPrivate(__generic void *p, int) __SPIRV_NOEXCEPT {
|
|
183
|
+
return (__private void *)p;
|
|
184
|
+
}
|
|
185
|
+
static __SPIRV_overloadable __SPIRV_inline __private const void *
|
|
186
|
+
__spirv_GenericCastToPtr_ToPrivate(__generic const void *p,
|
|
187
|
+
int) __SPIRV_NOEXCEPT {
|
|
188
|
+
return (__private const void *)p;
|
|
189
|
+
}
|
|
190
|
+
static __SPIRV_overloadable __SPIRV_inline __private volatile void *
|
|
191
|
+
__spirv_GenericCastToPtr_ToPrivate(__generic volatile void *p,
|
|
192
|
+
int) __SPIRV_NOEXCEPT {
|
|
193
|
+
return (__private volatile void *)p;
|
|
194
|
+
}
|
|
195
|
+
static __SPIRV_overloadable __SPIRV_inline __private const volatile void *
|
|
196
|
+
__spirv_GenericCastToPtr_ToPrivate(__generic const volatile void *p,
|
|
197
|
+
int) __SPIRV_NOEXCEPT {
|
|
198
|
+
return (__private const volatile void *)p;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
#pragma pop_macro("__size_t")
|
|
202
|
+
#pragma pop_macro("__uint32_t")
|
|
203
|
+
#pragma pop_macro("__uint64_t")
|
|
204
|
+
|
|
205
|
+
#undef __SPIRV_overloadable
|
|
206
|
+
#undef __SPIRV_convergent
|
|
207
|
+
#undef __SPIRV_inline
|
|
208
|
+
|
|
209
|
+
#undef __global
|
|
210
|
+
#undef __local
|
|
211
|
+
#undef __constant
|
|
212
|
+
#undef __generic
|
|
213
|
+
|
|
214
|
+
#undef __SPIRV_BUILTIN_ALIAS
|
|
215
|
+
#undef __SPIRV_NOEXCEPT
|
|
216
|
+
|
|
217
|
+
#endif /* __SPIRV_BUILTIN_VARS_H */
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
#ifndef va_arg
|
|
11
11
|
|
|
12
12
|
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
13
|
-
/* C23
|
|
14
|
-
#define va_start(
|
|
13
|
+
/* C23 uses a special builtin. */
|
|
14
|
+
#define va_start(...) __builtin_c23_va_start(__VA_ARGS__)
|
|
15
15
|
#else
|
|
16
16
|
/* Versions before C23 do require the second parameter. */
|
|
17
17
|
#define va_start(ap, param) __builtin_va_start(ap, param)
|
|
@@ -15,7 +15,12 @@
|
|
|
15
15
|
#endif
|
|
16
16
|
|
|
17
17
|
/* Define the default attributes for the functions in this file. */
|
|
18
|
+
#if defined(__cplusplus) && (__cplusplus >= 201103L)
|
|
19
|
+
#define __DEFAULT_FN_ATTRS \
|
|
20
|
+
__attribute__((__always_inline__, __nodebug__)) constexpr
|
|
21
|
+
#else
|
|
18
22
|
#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__))
|
|
23
|
+
#endif
|
|
19
24
|
|
|
20
25
|
/* Use C++ inline semantics in C++, GNU inline for C mode. */
|
|
21
26
|
#if defined(__cplusplus)
|
|
@@ -15,8 +15,13 @@
|
|
|
15
15
|
#define __ADXINTRIN_H
|
|
16
16
|
|
|
17
17
|
/* Define the default attributes for the functions in this file. */
|
|
18
|
+
#if defined(__cplusplus) && (__cplusplus >= 201103L)
|
|
19
|
+
#define __DEFAULT_FN_ATTRS \
|
|
20
|
+
__attribute__((__always_inline__, __nodebug__, __target__("adx"))) constexpr
|
|
21
|
+
#else
|
|
18
22
|
#define __DEFAULT_FN_ATTRS \
|
|
19
23
|
__attribute__((__always_inline__, __nodebug__, __target__("adx")))
|
|
24
|
+
#endif
|
|
20
25
|
|
|
21
26
|
/* Use C++ inline semantics in C++, GNU inline for C mode. */
|
|
22
27
|
#if defined(__cplusplus)
|