@cpp-linter/clang-tidy-win32-x64 21.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/{21 → 23}/include/__clang_cuda_device_functions.h +1 -1
- package/lib/clang/{21 → 23}/include/__clang_cuda_intrinsics.h +207 -226
- package/lib/clang/{21 → 23}/include/__clang_cuda_math_forward_declares.h +5 -0
- package/lib/clang/{21 → 23}/include/__clang_cuda_runtime_wrapper.h +27 -5
- 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/{21 → 23}/include/__clang_hip_libdevice_declares.h +14 -121
- package/lib/clang/{21 → 23}/include/__clang_hip_math.h +5 -5
- package/lib/clang/{21 → 23}/include/__clang_hip_runtime_wrapper.h +9 -1
- package/lib/clang/{21 → 23}/include/__clang_spirv_builtins.h +12 -12
- 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/{21/include/float.h → 23/include/__float_float.h} +13 -24
- 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/{21 → 23}/include/altivec.h +79 -9
- package/lib/clang/{21 → 23}/include/amdgpuintrin.h +2 -29
- package/lib/clang/23/include/amdhsa_abi.h +83 -0
- package/lib/clang/23/include/amo.h +220 -0
- package/lib/clang/{21 → 23}/include/amxavx512intrin.h +215 -1
- package/lib/clang/{21 → 23}/include/amxintrin.h +0 -2
- package/lib/clang/{21 → 23}/include/andes_vector.h +5 -0
- package/lib/clang/23/include/arm64_neon.h +21 -0
- package/lib/clang/{21 → 23}/include/arm64intr.h +10 -0
- package/lib/clang/{21 → 23}/include/arm_acle.h +38 -27
- package/lib/clang/{21 → 23}/include/arm_neon.h +4140 -3836
- package/lib/clang/{21 → 23}/include/arm_sme.h +20 -8
- package/lib/clang/{21 → 23}/include/arm_sve.h +4582 -3782
- package/lib/clang/{21 → 23}/include/avx10_2_512bf16intrin.h +19 -12
- package/lib/clang/{21 → 23}/include/avx10_2_512convertintrin.h +1 -1
- package/lib/clang/{21 → 23}/include/avx10_2_512niintrin.h +25 -25
- package/lib/clang/{21 → 23}/include/avx10_2_512satcvtdsintrin.h +1 -1
- package/lib/clang/{21 → 23}/include/avx10_2bf16intrin.h +54 -45
- package/lib/clang/{21 → 23}/include/avx10_2convertintrin.h +2 -2
- package/lib/clang/{21 → 23}/include/avx10_2copyintrin.h +1 -1
- package/lib/clang/{21 → 23}/include/avx10_2niintrin.h +2 -2
- package/lib/clang/{21 → 23}/include/avx10_2satcvtdsintrin.h +2 -2
- package/lib/clang/{21 → 23}/include/avx2intrin.h +279 -382
- package/lib/clang/{21 → 23}/include/avx512bf16intrin.h +25 -16
- package/lib/clang/{21 → 23}/include/avx512bitalgintrin.h +19 -30
- package/lib/clang/23/include/avx512bmmintrin.h +174 -0
- package/lib/clang/23/include/avx512bmmvlintrin.h +245 -0
- package/lib/clang/{21 → 23}/include/avx512bwintrin.h +405 -534
- package/lib/clang/23/include/avx512cdintrin.h +112 -0
- package/lib/clang/{21 → 23}/include/avx512dqintrin.h +132 -161
- package/lib/clang/{21 → 23}/include/avx512fintrin.h +1049 -1485
- package/lib/clang/{21 → 23}/include/avx512fp16intrin.h +124 -128
- package/lib/clang/23/include/avx512ifmaintrin.h +68 -0
- package/lib/clang/23/include/avx512ifmavlintrin.h +138 -0
- package/lib/clang/{21 → 23}/include/avx512vbmi2intrin.h +55 -48
- package/lib/clang/{21 → 23}/include/avx512vbmiintrin.h +19 -27
- package/lib/clang/{21 → 23}/include/avx512vbmivlintrin.h +35 -49
- package/lib/clang/{21 → 23}/include/avx512vlbf16intrin.h +32 -22
- package/lib/clang/{21 → 23}/include/avx512vlbitalgintrin.h +37 -53
- package/lib/clang/{21 → 23}/include/avx512vlbwintrin.h +494 -609
- package/lib/clang/23/include/avx512vlcdintrin.h +202 -0
- package/lib/clang/{21 → 23}/include/avx512vldqintrin.h +110 -127
- package/lib/clang/{21 → 23}/include/avx512vlfp16intrin.h +130 -111
- package/lib/clang/{21 → 23}/include/avx512vlintrin.h +1025 -1395
- package/lib/clang/{21 → 23}/include/avx512vlvbmi2intrin.h +102 -95
- package/lib/clang/{21 → 23}/include/avx512vlvnniintrin.h +50 -52
- package/lib/clang/{21 → 23}/include/avx512vlvp2intersectintrin.h +2 -2
- package/lib/clang/{21 → 23}/include/avx512vnniintrin.h +42 -45
- package/lib/clang/{21 → 23}/include/avx512vp2intersectintrin.h +2 -3
- package/lib/clang/{21 → 23}/include/avx512vpopcntdqintrin.h +8 -10
- package/lib/clang/{21 → 23}/include/avx512vpopcntdqvlintrin.h +17 -15
- package/lib/clang/{21 → 23}/include/avxifmaintrin.h +16 -0
- package/lib/clang/{21 → 23}/include/avxintrin.h +165 -241
- package/lib/clang/{21 → 23}/include/avxvnniint16intrin.h +118 -99
- package/lib/clang/{21 → 23}/include/avxvnniint8intrin.h +56 -32
- package/lib/clang/{21 → 23}/include/avxvnniintrin.h +39 -26
- package/lib/clang/{21 → 23}/include/cpuid.h +101 -4
- package/lib/clang/{21 → 23}/include/crc32intrin.h +10 -8
- package/lib/clang/23/include/cuda_wrappers/__utility/declval.h +28 -0
- package/lib/clang/{21 → 23}/include/emmintrin.h +176 -176
- package/lib/clang/23/include/endian.h +91 -0
- package/lib/clang/{21 → 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/{21 → 23}/include/fmaintrin.h +96 -66
- package/lib/clang/{21 → 23}/include/gfniintrin.h +21 -16
- package/lib/clang/{21 → 23}/include/gpuintrin.h +129 -109
- package/lib/clang/{21 → 23}/include/hexagon_types.h +23 -20
- package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics.h +222 -0
- package/lib/clang/{21/include/hlsl/hlsl_alias_intrinsics.h → 23/include/hlsl/hlsl_alias_intrinsics_gen.inc} +2090 -1032
- package/lib/clang/23/include/hlsl/hlsl_basic_types.h +370 -0
- package/lib/clang/{21 → 23}/include/hlsl/hlsl_compat_overloads.h +150 -18
- package/lib/clang/{21 → 23}/include/hlsl/hlsl_detail.h +6 -4
- package/lib/clang/23/include/hlsl/hlsl_inline_intrinsics_gen.inc +546 -0
- package/lib/clang/{21 → 23}/include/hlsl/hlsl_intrinsic_helpers.h +71 -45
- package/lib/clang/23/include/hlsl/hlsl_intrinsics.h +331 -0
- package/lib/clang/{21 → 23}/include/hvx_hexagon_protos.h +724 -913
- package/lib/clang/{21 → 23}/include/immintrin.h +4 -14
- package/lib/clang/{21 → 23}/include/intrin.h +24 -10
- package/lib/clang/{21 → 23}/include/larchintrin.h +2 -0
- package/lib/clang/{21 → 23}/include/lasxintrin.h +113 -0
- package/lib/clang/{21 → 23}/include/llvm_libc_wrappers/assert.h +3 -5
- package/lib/clang/23/include/llvm_libc_wrappers/ctype.h +29 -0
- package/lib/clang/{21 → 23}/include/llvm_libc_wrappers/inttypes.h +3 -5
- package/lib/clang/23/include/llvm_libc_wrappers/stdio.h +52 -0
- package/lib/clang/23/include/llvm_libc_wrappers/stdlib.h +32 -0
- package/lib/clang/23/include/llvm_libc_wrappers/string.h +29 -0
- package/lib/clang/{21 → 23}/include/llvm_libc_wrappers/time.h +4 -10
- package/lib/clang/{21 → 23}/include/mmintrin.h +188 -257
- package/lib/clang/{21 → 23}/include/module.modulemap +39 -5
- package/lib/clang/{21 → 23}/include/movrs_avx10_2_512intrin.h +2 -2
- package/lib/clang/{21 → 23}/include/movrs_avx10_2intrin.h +4 -4
- package/lib/clang/{21 → 23}/include/nvptxintrin.h +15 -26
- package/lib/clang/{21 → 23}/include/opencl-c-base.h +7 -93
- package/lib/clang/{21 → 23}/include/opencl-c.h +225 -118
- package/lib/clang/{21 → 23}/include/openmp_wrappers/__clang_openmp_device_functions.h +14 -0
- package/lib/clang/{21 → 23}/include/openmp_wrappers/complex +7 -1
- package/lib/clang/{21 → 23}/include/openmp_wrappers/complex.h +6 -0
- package/lib/clang/{21 → 23}/include/openmp_wrappers/math.h +10 -0
- package/lib/clang/{21 → 23}/include/pmmintrin.h +12 -24
- package/lib/clang/{21 → 23}/include/ptrauth.h +104 -12
- package/lib/clang/{21 → 23}/include/riscv_bitmanip.h +7 -0
- package/lib/clang/{21 → 23}/include/riscv_corev_alu.h +2 -0
- package/lib/clang/{21 → 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/{21 → 23}/include/riscv_ntlh.h +2 -0
- package/lib/clang/23/include/riscv_packed_simd.h +644 -0
- package/lib/clang/{21 → 23}/include/riscv_vector.h +43 -0
- package/lib/clang/{21 → 23}/include/sifive_vector.h +76 -2
- package/lib/clang/{21 → 23}/include/sm4evexintrin.h +2 -2
- package/lib/clang/{21 → 23}/include/smmintrin.h +77 -59
- package/lib/clang/23/include/spirvintrin.h +167 -0
- package/lib/clang/23/include/stddefer.h +19 -0
- package/lib/clang/{21 → 23}/include/stdint.h +5 -14
- package/lib/clang/{21 → 23}/include/tmmintrin.h +116 -147
- package/lib/clang/{21 → 23}/include/vaesintrin.h +1 -2
- package/lib/clang/{21 → 23}/include/vecintrin.h +1 -1
- package/lib/clang/{21 → 23}/include/wasm_simd128.h +17 -0
- package/lib/clang/{21 → 23}/include/xmmintrin.h +50 -75
- package/lib/clang/{21 → 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/21/include/__clang_cuda_complex_builtins.h +0 -285
- package/lib/clang/21/include/amxbf16transposeintrin.h +0 -94
- package/lib/clang/21/include/amxcomplextransposeintrin.h +0 -303
- package/lib/clang/21/include/amxfp16transposeintrin.h +0 -94
- package/lib/clang/21/include/amxmovrstransposeintrin.h +0 -200
- package/lib/clang/21/include/amxtf32intrin.h +0 -108
- package/lib/clang/21/include/amxtf32transposeintrin.h +0 -105
- package/lib/clang/21/include/amxtransposeintrin.h +0 -248
- package/lib/clang/21/include/avx512cdintrin.h +0 -125
- package/lib/clang/21/include/avx512ifmaintrin.h +0 -70
- package/lib/clang/21/include/avx512ifmavlintrin.h +0 -111
- package/lib/clang/21/include/avx512vlcdintrin.h +0 -230
- package/lib/clang/21/include/fma4intrin.h +0 -218
- package/lib/clang/21/include/hlsl/hlsl_basic_types.h +0 -120
- package/lib/clang/21/include/hlsl/hlsl_intrinsics.h +0 -526
- package/lib/clang/21/include/llvm_libc_wrappers/ctype.h +0 -140
- package/lib/clang/21/include/llvm_libc_wrappers/stdio.h +0 -80
- package/lib/clang/21/include/llvm_libc_wrappers/stdlib.h +0 -53
- package/lib/clang/21/include/llvm_libc_wrappers/string.h +0 -96
- /package/lib/clang/{21 → 23}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{21 → 23}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{21 → 23}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{21 → 23}/include/__clang_cuda_math.h +0 -0
- /package/lib/clang/{21 → 23}/include/__clang_cuda_texture_intrinsics.h +0 -0
- /package/lib/clang/{21 → 23}/include/__clang_hip_cmath.h +0 -0
- /package/lib/clang/{21 → 23}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stdarg___gnuc_va_list.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stdarg___va_copy.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stdarg_header_macro.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stdarg_va_arg.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stdarg_va_copy.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stdarg_va_list.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_header_macro.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_null.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_nullptr_t.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_offsetof.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_ptrdiff_t.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_rsize_t.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_size_t.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_unreachable.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_wchar_t.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_wint_t.h +0 -0
- /package/lib/clang/{21 → 23}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{21 → 23}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{21 → 23}/include/adcintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/adxintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ammintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/amxcomplexintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/amxfp16intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/amxfp8intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/amxmovrsintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/arm_bf16.h +0 -0
- /package/lib/clang/{21 → 23}/include/arm_cde.h +0 -0
- /package/lib/clang/{21 → 23}/include/arm_cmse.h +0 -0
- /package/lib/clang/{21 → 23}/include/arm_fp16.h +0 -0
- /package/lib/clang/{21 → 23}/include/arm_mve.h +0 -0
- /package/lib/clang/{21 → 23}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{21 → 23}/include/arm_vector_types.h +0 -0
- /package/lib/clang/{21 → 23}/include/armintr.h +0 -0
- /package/lib/clang/{21 → 23}/include/avx10_2_512minmaxintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/avx10_2_512satcvtintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/avx10_2minmaxintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/avx10_2satcvtintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/bmiintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/builtins.h +0 -0
- /package/lib/clang/{21 → 23}/include/cet.h +0 -0
- /package/lib/clang/{21 → 23}/include/cetintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/clwbintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/clzerointrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/cmpccxaddintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/c++config.h +0 -0
- /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{21 → 23}/include/cuda_wrappers/cmath +0 -0
- /package/lib/clang/{21 → 23}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{21 → 23}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{21 → 23}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{21 → 23}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{21 → 23}/include/hlsl/hlsl_spirv.h +0 -0
- /package/lib/clang/{21 → 23}/include/hlsl.h +0 -0
- /package/lib/clang/{21 → 23}/include/hresetintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/htmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ia32intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/intrin0.h +0 -0
- /package/lib/clang/{21 → 23}/include/inttypes.h +0 -0
- /package/lib/clang/{21 → 23}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/iso646.h +0 -0
- /package/lib/clang/{21 → 23}/include/keylockerintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/limits.h +0 -0
- /package/lib/clang/{21 → 23}/include/llvm_offload_wrappers/__llvm_offload.h +0 -0
- /package/lib/clang/{21 → 23}/include/llvm_offload_wrappers/__llvm_offload_device.h +0 -0
- /package/lib/clang/{21 → 23}/include/llvm_offload_wrappers/__llvm_offload_host.h +0 -0
- /package/lib/clang/{21 → 23}/include/lsxintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/lwpintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/mm3dnow.h +0 -0
- /package/lib/clang/{21 → 23}/include/mm_malloc.h +0 -0
- /package/lib/clang/{21 → 23}/include/movdirintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/movrsintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/msa.h +0 -0
- /package/lib/clang/{21 → 23}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/nmmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{21 → 23}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{21 → 23}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{21 → 23}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/pkuintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/popcntintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/nmmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/smmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/prfchwintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/raointintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/rtmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/s390intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/serializeintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/sgxintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/sha512intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/shaintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/sm3intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/sm4intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/stdalign.h +0 -0
- /package/lib/clang/{21 → 23}/include/stdarg.h +0 -0
- /package/lib/clang/{21 → 23}/include/stdatomic.h +0 -0
- /package/lib/clang/{21 → 23}/include/stdbool.h +0 -0
- /package/lib/clang/{21 → 23}/include/stdckdint.h +0 -0
- /package/lib/clang/{21 → 23}/include/stdcountof.h +0 -0
- /package/lib/clang/{21 → 23}/include/stddef.h +0 -0
- /package/lib/clang/{21 → 23}/include/stdnoreturn.h +0 -0
- /package/lib/clang/{21 → 23}/include/tbmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/tgmath.h +0 -0
- /package/lib/clang/{21 → 23}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/uintrintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/unwind.h +0 -0
- /package/lib/clang/{21 → 23}/include/usermsrintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/vadefs.h +0 -0
- /package/lib/clang/{21 → 23}/include/varargs.h +0 -0
- /package/lib/clang/{21 → 23}/include/velintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{21 → 23}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{21 → 23}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/wmmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/x86gprintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/x86intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/xtestintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/yvals_core.h +0 -0
- /package/lib/clang/{21 → 23}/include/zos_wrappers/builtins.h +0 -0
|
@@ -1,526 +0,0 @@
|
|
|
1
|
-
//===----- hlsl_intrinsics.h - HLSL definitions for intrinsics ----------===//
|
|
2
|
-
//
|
|
3
|
-
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
-
// See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
-
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
-
//
|
|
7
|
-
//===----------------------------------------------------------------------===//
|
|
8
|
-
|
|
9
|
-
#ifndef _HLSL_HLSL_INTRINSICS_H_
|
|
10
|
-
#define _HLSL_HLSL_INTRINSICS_H_
|
|
11
|
-
|
|
12
|
-
#include "hlsl/hlsl_intrinsic_helpers.h"
|
|
13
|
-
|
|
14
|
-
namespace hlsl {
|
|
15
|
-
|
|
16
|
-
//===----------------------------------------------------------------------===//
|
|
17
|
-
// asfloat builtins
|
|
18
|
-
//===----------------------------------------------------------------------===//
|
|
19
|
-
|
|
20
|
-
/// \fn float asfloat(T Val)
|
|
21
|
-
/// \brief Interprets the bit pattern of x as float point number.
|
|
22
|
-
/// \param Val The input value.
|
|
23
|
-
|
|
24
|
-
template <typename T, int N>
|
|
25
|
-
constexpr vector<float, N> asfloat(vector<T, N> V) {
|
|
26
|
-
return __detail::bit_cast<float, T, N>(V);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
template <typename T> constexpr float asfloat(T F) {
|
|
30
|
-
return __detail::bit_cast<float, T>(F);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
//===----------------------------------------------------------------------===//
|
|
34
|
-
// asint builtins
|
|
35
|
-
//===----------------------------------------------------------------------===//
|
|
36
|
-
|
|
37
|
-
/// \fn int asint(T Val)
|
|
38
|
-
/// \brief Interprets the bit pattern of x as an integer.
|
|
39
|
-
/// \param Val The input value.
|
|
40
|
-
|
|
41
|
-
template <typename T, int N> constexpr vector<int, N> asint(vector<T, N> V) {
|
|
42
|
-
return __detail::bit_cast<int, T, N>(V);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
template <typename T> constexpr int asint(T F) {
|
|
46
|
-
return __detail::bit_cast<int, T>(F);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
//===----------------------------------------------------------------------===//
|
|
50
|
-
// asint16 builtins
|
|
51
|
-
//===----------------------------------------------------------------------===//
|
|
52
|
-
|
|
53
|
-
/// \fn int16_t asint16(T X)
|
|
54
|
-
/// \brief Interprets the bit pattern of \a X as an 16-bit integer.
|
|
55
|
-
/// \param X The input value.
|
|
56
|
-
|
|
57
|
-
#ifdef __HLSL_ENABLE_16_BIT
|
|
58
|
-
|
|
59
|
-
template <typename T, int N>
|
|
60
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
61
|
-
constexpr __detail::enable_if_t<__detail::is_same<int16_t, T>::value ||
|
|
62
|
-
__detail::is_same<uint16_t, T>::value ||
|
|
63
|
-
__detail::is_same<half, T>::value,
|
|
64
|
-
vector<int16_t, N>> asint16(vector<T, N> V) {
|
|
65
|
-
return __detail::bit_cast<int16_t, T, N>(V);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
template <typename T>
|
|
69
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
70
|
-
constexpr __detail::enable_if_t<__detail::is_same<int16_t, T>::value ||
|
|
71
|
-
__detail::is_same<uint16_t, T>::value ||
|
|
72
|
-
__detail::is_same<half, T>::value,
|
|
73
|
-
int16_t> asint16(T F) {
|
|
74
|
-
return __detail::bit_cast<int16_t, T>(F);
|
|
75
|
-
}
|
|
76
|
-
#endif
|
|
77
|
-
|
|
78
|
-
//===----------------------------------------------------------------------===//
|
|
79
|
-
// asuint builtins
|
|
80
|
-
//===----------------------------------------------------------------------===//
|
|
81
|
-
|
|
82
|
-
/// \fn uint asuint(T Val)
|
|
83
|
-
/// \brief Interprets the bit pattern of x as an unsigned integer.
|
|
84
|
-
/// \param Val The input value.
|
|
85
|
-
|
|
86
|
-
template <typename T, int N> constexpr vector<uint, N> asuint(vector<T, N> V) {
|
|
87
|
-
return __detail::bit_cast<uint, T, N>(V);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
template <typename T> constexpr uint asuint(T F) {
|
|
91
|
-
return __detail::bit_cast<uint, T>(F);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
//===----------------------------------------------------------------------===//
|
|
95
|
-
// asuint splitdouble builtins
|
|
96
|
-
//===----------------------------------------------------------------------===//
|
|
97
|
-
|
|
98
|
-
/// \fn void asuint(double D, out uint lowbits, out int highbits)
|
|
99
|
-
/// \brief Split and interprets the lowbits and highbits of double D into uints.
|
|
100
|
-
/// \param D The input double.
|
|
101
|
-
/// \param lowbits The output lowbits of D.
|
|
102
|
-
/// \param highbits The output highbits of D.
|
|
103
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_splitdouble)
|
|
104
|
-
void asuint(double, out uint, out uint);
|
|
105
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_splitdouble)
|
|
106
|
-
void asuint(double2, out uint2, out uint2);
|
|
107
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_splitdouble)
|
|
108
|
-
void asuint(double3, out uint3, out uint3);
|
|
109
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_splitdouble)
|
|
110
|
-
void asuint(double4, out uint4, out uint4);
|
|
111
|
-
|
|
112
|
-
//===----------------------------------------------------------------------===//
|
|
113
|
-
// asuint16 builtins
|
|
114
|
-
//===----------------------------------------------------------------------===//
|
|
115
|
-
|
|
116
|
-
/// \fn uint16_t asuint16(T X)
|
|
117
|
-
/// \brief Interprets the bit pattern of \a X as an 16-bit unsigned integer.
|
|
118
|
-
/// \param X The input value.
|
|
119
|
-
|
|
120
|
-
#ifdef __HLSL_ENABLE_16_BIT
|
|
121
|
-
|
|
122
|
-
template <typename T, int N>
|
|
123
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
124
|
-
constexpr __detail::enable_if_t<__detail::is_same<int16_t, T>::value ||
|
|
125
|
-
__detail::is_same<uint16_t, T>::value ||
|
|
126
|
-
__detail::is_same<half, T>::value,
|
|
127
|
-
vector<uint16_t, N>> asuint16(vector<T, N> V) {
|
|
128
|
-
return __detail::bit_cast<uint16_t, T, N>(V);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
template <typename T>
|
|
132
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
133
|
-
constexpr __detail::enable_if_t<__detail::is_same<int16_t, T>::value ||
|
|
134
|
-
__detail::is_same<uint16_t, T>::value ||
|
|
135
|
-
__detail::is_same<half, T>::value,
|
|
136
|
-
uint16_t> asuint16(T F) {
|
|
137
|
-
return __detail::bit_cast<uint16_t, T>(F);
|
|
138
|
-
}
|
|
139
|
-
#endif
|
|
140
|
-
|
|
141
|
-
//===----------------------------------------------------------------------===//
|
|
142
|
-
// distance builtins
|
|
143
|
-
//===----------------------------------------------------------------------===//
|
|
144
|
-
|
|
145
|
-
/// \fn K distance(T X, T Y)
|
|
146
|
-
/// \brief Returns a distance scalar between \a X and \a Y.
|
|
147
|
-
/// \param X The X input value.
|
|
148
|
-
/// \param Y The Y input value.
|
|
149
|
-
|
|
150
|
-
template <typename T>
|
|
151
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
152
|
-
const inline __detail::enable_if_t<__detail::is_arithmetic<T>::Value &&
|
|
153
|
-
__detail::is_same<half, T>::value,
|
|
154
|
-
T> distance(T X, T Y) {
|
|
155
|
-
return __detail::distance_impl(X, Y);
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
template <typename T>
|
|
159
|
-
const inline __detail::enable_if_t<
|
|
160
|
-
__detail::is_arithmetic<T>::Value && __detail::is_same<float, T>::value, T>
|
|
161
|
-
distance(T X, T Y) {
|
|
162
|
-
return __detail::distance_impl(X, Y);
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
template <int N>
|
|
166
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
167
|
-
const inline half distance(__detail::HLSL_FIXED_VECTOR<half, N> X,
|
|
168
|
-
__detail::HLSL_FIXED_VECTOR<half, N> Y) {
|
|
169
|
-
return __detail::distance_vec_impl(X, Y);
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
template <int N>
|
|
173
|
-
const inline float distance(__detail::HLSL_FIXED_VECTOR<float, N> X,
|
|
174
|
-
__detail::HLSL_FIXED_VECTOR<float, N> Y) {
|
|
175
|
-
return __detail::distance_vec_impl(X, Y);
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
//===----------------------------------------------------------------------===//
|
|
179
|
-
// dot2add builtins
|
|
180
|
-
//===----------------------------------------------------------------------===//
|
|
181
|
-
|
|
182
|
-
/// \fn float dot2add(half2 A, half2 B, float C)
|
|
183
|
-
/// \brief Dot product of 2 vector of type half and add a float scalar value.
|
|
184
|
-
/// \param A The first input value to dot product.
|
|
185
|
-
/// \param B The second input value to dot product.
|
|
186
|
-
/// \param C The input value added to the dot product.
|
|
187
|
-
|
|
188
|
-
_HLSL_AVAILABILITY(shadermodel, 6.4)
|
|
189
|
-
const inline float dot2add(half2 A, half2 B, float C) {
|
|
190
|
-
return __detail::dot2add_impl(A, B, C);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
//===----------------------------------------------------------------------===//
|
|
194
|
-
// dst builtins
|
|
195
|
-
//===----------------------------------------------------------------------===//
|
|
196
|
-
|
|
197
|
-
/// \fn vector<T, 4> dst(vector<T, 4>, vector<T, 4>)
|
|
198
|
-
/// \brief Calculates a distance vector.
|
|
199
|
-
/// \param Src0 [in] Contains the squared distance
|
|
200
|
-
/// \param Src1 [in] Contains the reciprocal distance
|
|
201
|
-
///
|
|
202
|
-
/// Return the computed distance vector
|
|
203
|
-
|
|
204
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
205
|
-
const inline half4 dst(half4 Src0, half4 Src1) {
|
|
206
|
-
return __detail::dst_impl(Src0, Src1);
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
const inline float4 dst(float4 Src0, float4 Src1) {
|
|
210
|
-
return __detail::dst_impl(Src0, Src1);
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
const inline double4 dst(double4 Src0, double4 Src1) {
|
|
214
|
-
return __detail::dst_impl(Src0, Src1);
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
//===----------------------------------------------------------------------===//
|
|
218
|
-
// faceforward builtin
|
|
219
|
-
//===----------------------------------------------------------------------===//
|
|
220
|
-
|
|
221
|
-
/// \fn T faceforward(T N, T I, T Ng)
|
|
222
|
-
/// \brief Flips the surface-normal (if needed) to face in a direction opposite
|
|
223
|
-
/// to \a I. Returns the result in terms of \a N.
|
|
224
|
-
/// \param N The resulting floating-point surface-normal vector.
|
|
225
|
-
/// \param I A floating-point, incident vector that points from the view
|
|
226
|
-
/// position to the shading position.
|
|
227
|
-
/// \param Ng A floating-point surface-normal vector.
|
|
228
|
-
///
|
|
229
|
-
/// Return a floating-point, surface normal vector that is facing the view
|
|
230
|
-
/// direction.
|
|
231
|
-
|
|
232
|
-
template <typename T>
|
|
233
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
234
|
-
const inline __detail::enable_if_t<__detail::is_arithmetic<T>::Value &&
|
|
235
|
-
__detail::is_same<half, T>::value,
|
|
236
|
-
T> faceforward(T N, T I, T Ng) {
|
|
237
|
-
return __detail::faceforward_impl(N, I, Ng);
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
template <typename T>
|
|
241
|
-
const inline __detail::enable_if_t<
|
|
242
|
-
__detail::is_arithmetic<T>::Value && __detail::is_same<float, T>::value, T>
|
|
243
|
-
faceforward(T N, T I, T Ng) {
|
|
244
|
-
return __detail::faceforward_impl(N, I, Ng);
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
template <int L>
|
|
248
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
249
|
-
const inline __detail::HLSL_FIXED_VECTOR<half, L> faceforward(
|
|
250
|
-
__detail::HLSL_FIXED_VECTOR<half, L> N,
|
|
251
|
-
__detail::HLSL_FIXED_VECTOR<half, L> I,
|
|
252
|
-
__detail::HLSL_FIXED_VECTOR<half, L> Ng) {
|
|
253
|
-
return __detail::faceforward_impl(N, I, Ng);
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
template <int L>
|
|
257
|
-
const inline __detail::HLSL_FIXED_VECTOR<float, L>
|
|
258
|
-
faceforward(__detail::HLSL_FIXED_VECTOR<float, L> N,
|
|
259
|
-
__detail::HLSL_FIXED_VECTOR<float, L> I,
|
|
260
|
-
__detail::HLSL_FIXED_VECTOR<float, L> Ng) {
|
|
261
|
-
return __detail::faceforward_impl(N, I, Ng);
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
//===----------------------------------------------------------------------===//
|
|
265
|
-
// fmod builtins
|
|
266
|
-
//===----------------------------------------------------------------------===//
|
|
267
|
-
|
|
268
|
-
/// \fn T fmod(T x, T y)
|
|
269
|
-
/// \brief Returns the linear interpolation of x to y.
|
|
270
|
-
/// \param x [in] The dividend.
|
|
271
|
-
/// \param y [in] The divisor.
|
|
272
|
-
///
|
|
273
|
-
/// Return the floating-point remainder of the x parameter divided by the y
|
|
274
|
-
/// parameter.
|
|
275
|
-
|
|
276
|
-
template <typename T>
|
|
277
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
278
|
-
const inline __detail::enable_if_t<__detail::is_arithmetic<T>::Value &&
|
|
279
|
-
__detail::is_same<half, T>::value,
|
|
280
|
-
T> fmod(T X, T Y) {
|
|
281
|
-
return __detail::fmod_impl(X, Y);
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
template <typename T>
|
|
285
|
-
const inline __detail::enable_if_t<
|
|
286
|
-
__detail::is_arithmetic<T>::Value && __detail::is_same<float, T>::value, T>
|
|
287
|
-
fmod(T X, T Y) {
|
|
288
|
-
return __detail::fmod_impl(X, Y);
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
template <int N>
|
|
292
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
293
|
-
const inline __detail::HLSL_FIXED_VECTOR<half, N> fmod(
|
|
294
|
-
__detail::HLSL_FIXED_VECTOR<half, N> X,
|
|
295
|
-
__detail::HLSL_FIXED_VECTOR<half, N> Y) {
|
|
296
|
-
return __detail::fmod_vec_impl(X, Y);
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
template <int N>
|
|
300
|
-
const inline __detail::HLSL_FIXED_VECTOR<float, N>
|
|
301
|
-
fmod(__detail::HLSL_FIXED_VECTOR<float, N> X,
|
|
302
|
-
__detail::HLSL_FIXED_VECTOR<float, N> Y) {
|
|
303
|
-
return __detail::fmod_vec_impl(X, Y);
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
//===----------------------------------------------------------------------===//
|
|
307
|
-
// ldexp builtins
|
|
308
|
-
//===----------------------------------------------------------------------===//
|
|
309
|
-
|
|
310
|
-
/// \fn T ldexp(T X, T Exp)
|
|
311
|
-
/// \brief Returns the result of multiplying the specified value by two raised
|
|
312
|
-
/// to the power of the specified exponent.
|
|
313
|
-
/// \param X [in] The specified value.
|
|
314
|
-
/// \param Exp [in] The specified exponent.
|
|
315
|
-
///
|
|
316
|
-
/// This function uses the following formula: X * 2^Exp
|
|
317
|
-
|
|
318
|
-
template <typename T>
|
|
319
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
320
|
-
const inline __detail::enable_if_t<__detail::is_arithmetic<T>::Value &&
|
|
321
|
-
__detail::is_same<half, T>::value,
|
|
322
|
-
T> ldexp(T X, T Exp) {
|
|
323
|
-
return __detail::ldexp_impl(X, Exp);
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
template <typename T>
|
|
327
|
-
const inline __detail::enable_if_t<
|
|
328
|
-
__detail::is_arithmetic<T>::Value && __detail::is_same<float, T>::value, T>
|
|
329
|
-
ldexp(T X, T Exp) {
|
|
330
|
-
return __detail::ldexp_impl(X, Exp);
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
template <int N>
|
|
334
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
335
|
-
const inline __detail::HLSL_FIXED_VECTOR<half, N> ldexp(
|
|
336
|
-
__detail::HLSL_FIXED_VECTOR<half, N> X,
|
|
337
|
-
__detail::HLSL_FIXED_VECTOR<half, N> Exp) {
|
|
338
|
-
return __detail::ldexp_impl(X, Exp);
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
template <int N>
|
|
342
|
-
const inline __detail::HLSL_FIXED_VECTOR<float, N>
|
|
343
|
-
ldexp(__detail::HLSL_FIXED_VECTOR<float, N> X,
|
|
344
|
-
__detail::HLSL_FIXED_VECTOR<float, N> Exp) {
|
|
345
|
-
return __detail::ldexp_impl(X, Exp);
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
//===----------------------------------------------------------------------===//
|
|
349
|
-
// length builtins
|
|
350
|
-
//===----------------------------------------------------------------------===//
|
|
351
|
-
|
|
352
|
-
/// \fn T length(T x)
|
|
353
|
-
/// \brief Returns the length of the specified floating-point vector.
|
|
354
|
-
/// \param x [in] The vector of floats, or a scalar float.
|
|
355
|
-
///
|
|
356
|
-
/// Length is based on the following formula: sqrt(x[0]^2 + x[1]^2 + ...).
|
|
357
|
-
|
|
358
|
-
template <typename T>
|
|
359
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
360
|
-
const inline __detail::enable_if_t<__detail::is_arithmetic<T>::Value &&
|
|
361
|
-
__detail::is_same<half, T>::value,
|
|
362
|
-
T> length(T X) {
|
|
363
|
-
return __detail::length_impl(X);
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
template <typename T>
|
|
367
|
-
const inline __detail::enable_if_t<
|
|
368
|
-
__detail::is_arithmetic<T>::Value && __detail::is_same<float, T>::value, T>
|
|
369
|
-
length(T X) {
|
|
370
|
-
return __detail::length_impl(X);
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
template <int N>
|
|
374
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
375
|
-
const inline half length(__detail::HLSL_FIXED_VECTOR<half, N> X) {
|
|
376
|
-
return __detail::length_vec_impl(X);
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
template <int N>
|
|
380
|
-
const inline float length(__detail::HLSL_FIXED_VECTOR<float, N> X) {
|
|
381
|
-
return __detail::length_vec_impl(X);
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
//===----------------------------------------------------------------------===//
|
|
385
|
-
// lit builtins
|
|
386
|
-
//===----------------------------------------------------------------------===//
|
|
387
|
-
|
|
388
|
-
/// \fn vector<T, 4> lit(T NDotL, T NDotH, T M)
|
|
389
|
-
/// \brief Returns a lighting coefficient vector.
|
|
390
|
-
/// \param NDotL The dot product of the normalized surface normal and the
|
|
391
|
-
/// light vector.
|
|
392
|
-
/// \param NDotH The dot product of the half-angle vector and the surface
|
|
393
|
-
/// normal.
|
|
394
|
-
/// \param M A specular exponent.
|
|
395
|
-
///
|
|
396
|
-
/// This function returns a lighting coefficient vector (ambient, diffuse,
|
|
397
|
-
/// specular, 1).
|
|
398
|
-
|
|
399
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
400
|
-
const inline half4 lit(half NDotL, half NDotH, half M) {
|
|
401
|
-
return __detail::lit_impl(NDotL, NDotH, M);
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
const inline float4 lit(float NDotL, float NDotH, float M) {
|
|
405
|
-
return __detail::lit_impl(NDotL, NDotH, M);
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
//===----------------------------------------------------------------------===//
|
|
409
|
-
// D3DCOLORtoUBYTE4 builtin
|
|
410
|
-
//===----------------------------------------------------------------------===//
|
|
411
|
-
|
|
412
|
-
/// \fn T D3DCOLORtoUBYTE4(T x)
|
|
413
|
-
/// \brief Converts a floating-point, 4D vector set by a D3DCOLOR to a UBYTE4.
|
|
414
|
-
/// \param x [in] The floating-point vector4 to convert.
|
|
415
|
-
///
|
|
416
|
-
/// The return value is the UBYTE4 representation of the \a x parameter.
|
|
417
|
-
///
|
|
418
|
-
/// This function swizzles and scales components of the \a x parameter. Use this
|
|
419
|
-
/// function to compensate for the lack of UBYTE4 support in some hardware.
|
|
420
|
-
|
|
421
|
-
constexpr vector<uint, 4> D3DCOLORtoUBYTE4(vector<float, 4> V) {
|
|
422
|
-
return __detail::d3d_color_to_ubyte4_impl(V);
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
//===----------------------------------------------------------------------===//
|
|
426
|
-
// reflect builtin
|
|
427
|
-
//===----------------------------------------------------------------------===//
|
|
428
|
-
|
|
429
|
-
/// \fn T reflect(T I, T N)
|
|
430
|
-
/// \brief Returns a reflection using an incident ray, \a I, and a surface
|
|
431
|
-
/// normal, \a N.
|
|
432
|
-
/// \param I The incident ray.
|
|
433
|
-
/// \param N The surface normal.
|
|
434
|
-
///
|
|
435
|
-
/// The return value is a floating-point vector that represents the reflection
|
|
436
|
-
/// of the incident ray, \a I, off a surface with the normal \a N.
|
|
437
|
-
///
|
|
438
|
-
/// This function calculates the reflection vector using the following formula:
|
|
439
|
-
/// V = I - 2 * N * dot(I N) .
|
|
440
|
-
///
|
|
441
|
-
/// N must already be normalized in order to achieve the desired result.
|
|
442
|
-
///
|
|
443
|
-
/// The operands must all be a scalar or vector whose component type is
|
|
444
|
-
/// floating-point.
|
|
445
|
-
///
|
|
446
|
-
/// Result type and the type of all operands must be the same type.
|
|
447
|
-
|
|
448
|
-
template <typename T>
|
|
449
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
450
|
-
const inline __detail::enable_if_t<__detail::is_arithmetic<T>::Value &&
|
|
451
|
-
__detail::is_same<half, T>::value,
|
|
452
|
-
T> reflect(T I, T N) {
|
|
453
|
-
return __detail::reflect_impl(I, N);
|
|
454
|
-
}
|
|
455
|
-
|
|
456
|
-
template <typename T>
|
|
457
|
-
const inline __detail::enable_if_t<
|
|
458
|
-
__detail::is_arithmetic<T>::Value && __detail::is_same<float, T>::value, T>
|
|
459
|
-
reflect(T I, T N) {
|
|
460
|
-
return __detail::reflect_impl(I, N);
|
|
461
|
-
}
|
|
462
|
-
|
|
463
|
-
template <int L>
|
|
464
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
465
|
-
const inline __detail::HLSL_FIXED_VECTOR<half, L> reflect(
|
|
466
|
-
__detail::HLSL_FIXED_VECTOR<half, L> I,
|
|
467
|
-
__detail::HLSL_FIXED_VECTOR<half, L> N) {
|
|
468
|
-
return __detail::reflect_vec_impl(I, N);
|
|
469
|
-
}
|
|
470
|
-
|
|
471
|
-
template <int L>
|
|
472
|
-
const inline __detail::HLSL_FIXED_VECTOR<float, L>
|
|
473
|
-
reflect(__detail::HLSL_FIXED_VECTOR<float, L> I,
|
|
474
|
-
__detail::HLSL_FIXED_VECTOR<float, L> N) {
|
|
475
|
-
return __detail::reflect_vec_impl(I, N);
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
//===----------------------------------------------------------------------===//
|
|
479
|
-
// smoothstep builtin
|
|
480
|
-
//===----------------------------------------------------------------------===//
|
|
481
|
-
|
|
482
|
-
/// \fn T smoothstep(T Min, T Max, T X)
|
|
483
|
-
/// \brief Returns a smooth Hermite interpolation between 0 and 1, if \a X is in
|
|
484
|
-
/// the range [\a Min, \a Max].
|
|
485
|
-
/// \param Min The minimum range of the x parameter.
|
|
486
|
-
/// \param Max The maximum range of the x parameter.
|
|
487
|
-
/// \param X The specified value to be interpolated.
|
|
488
|
-
///
|
|
489
|
-
/// The return value is 0.0 if \a X ≤ \a Min and 1.0 if \a X ≥ \a Max. When \a
|
|
490
|
-
/// Min < \a X < \a Max, the function performs smooth Hermite interpolation
|
|
491
|
-
/// between 0 and 1.
|
|
492
|
-
|
|
493
|
-
template <typename T>
|
|
494
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
495
|
-
const inline __detail::enable_if_t<__detail::is_arithmetic<T>::Value &&
|
|
496
|
-
__detail::is_same<half, T>::value,
|
|
497
|
-
T> smoothstep(T Min, T Max, T X) {
|
|
498
|
-
return __detail::smoothstep_impl(Min, Max, X);
|
|
499
|
-
}
|
|
500
|
-
|
|
501
|
-
template <typename T>
|
|
502
|
-
const inline __detail::enable_if_t<
|
|
503
|
-
__detail::is_arithmetic<T>::Value && __detail::is_same<float, T>::value, T>
|
|
504
|
-
smoothstep(T Min, T Max, T X) {
|
|
505
|
-
return __detail::smoothstep_impl(Min, Max, X);
|
|
506
|
-
}
|
|
507
|
-
|
|
508
|
-
template <int N>
|
|
509
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
510
|
-
const inline __detail::HLSL_FIXED_VECTOR<half, N> smoothstep(
|
|
511
|
-
__detail::HLSL_FIXED_VECTOR<half, N> Min,
|
|
512
|
-
__detail::HLSL_FIXED_VECTOR<half, N> Max,
|
|
513
|
-
__detail::HLSL_FIXED_VECTOR<half, N> X) {
|
|
514
|
-
return __detail::smoothstep_vec_impl(Min, Max, X);
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
template <int N>
|
|
518
|
-
const inline __detail::HLSL_FIXED_VECTOR<float, N>
|
|
519
|
-
smoothstep(__detail::HLSL_FIXED_VECTOR<float, N> Min,
|
|
520
|
-
__detail::HLSL_FIXED_VECTOR<float, N> Max,
|
|
521
|
-
__detail::HLSL_FIXED_VECTOR<float, N> X) {
|
|
522
|
-
return __detail::smoothstep_vec_impl(Min, Max, X);
|
|
523
|
-
}
|
|
524
|
-
|
|
525
|
-
} // namespace hlsl
|
|
526
|
-
#endif //_HLSL_HLSL_INTRINSICS_H_
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
//===-- Wrapper for C standard ctype.h declarations on the GPU ------------===//
|
|
2
|
-
//
|
|
3
|
-
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
-
// See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
-
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
-
//
|
|
7
|
-
//===----------------------------------------------------------------------===//
|
|
8
|
-
|
|
9
|
-
#ifndef __CLANG_LLVM_LIBC_WRAPPERS_CTYPE_H__
|
|
10
|
-
#define __CLANG_LLVM_LIBC_WRAPPERS_CTYPE_H__
|
|
11
|
-
|
|
12
|
-
#if !defined(_OPENMP) && !defined(__HIP__) && !defined(__CUDA__)
|
|
13
|
-
#error "This file is for GPU offloading compilation only"
|
|
14
|
-
#endif
|
|
15
|
-
|
|
16
|
-
// The GNU headers like to define 'toupper' and 'tolower' redundantly. This is
|
|
17
|
-
// necessary to prevent it from doing that and remapping our implementation.
|
|
18
|
-
#if (defined(__NVPTX__) || defined(__AMDGPU__)) && defined(__GLIBC__)
|
|
19
|
-
#pragma push_macro("__USE_EXTERN_INLINES")
|
|
20
|
-
#undef __USE_EXTERN_INLINES
|
|
21
|
-
#endif
|
|
22
|
-
|
|
23
|
-
#include_next <ctype.h>
|
|
24
|
-
|
|
25
|
-
#if (defined(__NVPTX__) || defined(__AMDGPU__)) && defined(__GLIBC__)
|
|
26
|
-
#pragma pop_macro("__USE_EXTERN_INLINES")
|
|
27
|
-
#endif
|
|
28
|
-
|
|
29
|
-
#if __has_include(<llvm-libc-decls/ctype.h>)
|
|
30
|
-
|
|
31
|
-
#if defined(__HIP__) || defined(__CUDA__)
|
|
32
|
-
#define __LIBC_ATTRS __attribute__((device))
|
|
33
|
-
#endif
|
|
34
|
-
|
|
35
|
-
// The GNU headers like to provide these as macros, we need to undefine them so
|
|
36
|
-
// they do not conflict with the following definitions for the GPU.
|
|
37
|
-
|
|
38
|
-
#pragma push_macro("isalnum")
|
|
39
|
-
#pragma push_macro("isalpha")
|
|
40
|
-
#pragma push_macro("isascii")
|
|
41
|
-
#pragma push_macro("isblank")
|
|
42
|
-
#pragma push_macro("iscntrl")
|
|
43
|
-
#pragma push_macro("isdigit")
|
|
44
|
-
#pragma push_macro("isgraph")
|
|
45
|
-
#pragma push_macro("islower")
|
|
46
|
-
#pragma push_macro("isprint")
|
|
47
|
-
#pragma push_macro("ispunct")
|
|
48
|
-
#pragma push_macro("isspace")
|
|
49
|
-
#pragma push_macro("isupper")
|
|
50
|
-
#pragma push_macro("isxdigit")
|
|
51
|
-
#pragma push_macro("toascii")
|
|
52
|
-
#pragma push_macro("tolower")
|
|
53
|
-
#pragma push_macro("toupper")
|
|
54
|
-
#pragma push_macro("isalnum_l")
|
|
55
|
-
#pragma push_macro("isalpha_l")
|
|
56
|
-
#pragma push_macro("isascii_l")
|
|
57
|
-
#pragma push_macro("isblank_l")
|
|
58
|
-
#pragma push_macro("iscntrl_l")
|
|
59
|
-
#pragma push_macro("isdigit_l")
|
|
60
|
-
#pragma push_macro("isgraph_l")
|
|
61
|
-
#pragma push_macro("islower_l")
|
|
62
|
-
#pragma push_macro("isprint_l")
|
|
63
|
-
#pragma push_macro("ispunct_l")
|
|
64
|
-
#pragma push_macro("isspace_l")
|
|
65
|
-
#pragma push_macro("isupper_l")
|
|
66
|
-
#pragma push_macro("isxdigit_l")
|
|
67
|
-
|
|
68
|
-
#undef isalnum
|
|
69
|
-
#undef isalpha
|
|
70
|
-
#undef isascii
|
|
71
|
-
#undef iscntrl
|
|
72
|
-
#undef isdigit
|
|
73
|
-
#undef islower
|
|
74
|
-
#undef isgraph
|
|
75
|
-
#undef isprint
|
|
76
|
-
#undef ispunct
|
|
77
|
-
#undef isspace
|
|
78
|
-
#undef isupper
|
|
79
|
-
#undef isblank
|
|
80
|
-
#undef isxdigit
|
|
81
|
-
#undef toascii
|
|
82
|
-
#undef tolower
|
|
83
|
-
#undef toupper
|
|
84
|
-
#undef isalnum_l
|
|
85
|
-
#undef isalpha_l
|
|
86
|
-
#undef iscntrl_l
|
|
87
|
-
#undef isdigit_l
|
|
88
|
-
#undef islower_l
|
|
89
|
-
#undef isgraph_l
|
|
90
|
-
#undef isprint_l
|
|
91
|
-
#undef ispunct_l
|
|
92
|
-
#undef isspace_l
|
|
93
|
-
#undef isupper_l
|
|
94
|
-
#undef isblank_l
|
|
95
|
-
#undef isxdigit_l
|
|
96
|
-
|
|
97
|
-
#pragma omp begin declare target
|
|
98
|
-
|
|
99
|
-
#include <llvm-libc-decls/ctype.h>
|
|
100
|
-
|
|
101
|
-
#pragma omp end declare target
|
|
102
|
-
|
|
103
|
-
// Restore the original macros when compiling on the host.
|
|
104
|
-
#if !defined(__NVPTX__) && !defined(__AMDGPU__)
|
|
105
|
-
#pragma pop_macro("isalnum")
|
|
106
|
-
#pragma pop_macro("isalpha")
|
|
107
|
-
#pragma pop_macro("isascii")
|
|
108
|
-
#pragma pop_macro("isblank")
|
|
109
|
-
#pragma pop_macro("iscntrl")
|
|
110
|
-
#pragma pop_macro("isdigit")
|
|
111
|
-
#pragma pop_macro("isgraph")
|
|
112
|
-
#pragma pop_macro("islower")
|
|
113
|
-
#pragma pop_macro("isprint")
|
|
114
|
-
#pragma pop_macro("ispunct")
|
|
115
|
-
#pragma pop_macro("isspace")
|
|
116
|
-
#pragma pop_macro("isupper")
|
|
117
|
-
#pragma pop_macro("isxdigit")
|
|
118
|
-
#pragma pop_macro("toascii")
|
|
119
|
-
#pragma pop_macro("tolower")
|
|
120
|
-
#pragma pop_macro("toupper")
|
|
121
|
-
#pragma pop_macro("isalnum_l")
|
|
122
|
-
#pragma pop_macro("isalpha_l")
|
|
123
|
-
#pragma pop_macro("isascii_l")
|
|
124
|
-
#pragma pop_macro("isblank_l")
|
|
125
|
-
#pragma pop_macro("iscntrl_l")
|
|
126
|
-
#pragma pop_macro("isdigit_l")
|
|
127
|
-
#pragma pop_macro("isgraph_l")
|
|
128
|
-
#pragma pop_macro("islower_l")
|
|
129
|
-
#pragma pop_macro("isprint_l")
|
|
130
|
-
#pragma pop_macro("ispunct_l")
|
|
131
|
-
#pragma pop_macro("isspace_l")
|
|
132
|
-
#pragma pop_macro("isupper_l")
|
|
133
|
-
#pragma pop_macro("isxdigit_l")
|
|
134
|
-
#endif
|
|
135
|
-
|
|
136
|
-
#undef __LIBC_ATTRS
|
|
137
|
-
|
|
138
|
-
#endif
|
|
139
|
-
|
|
140
|
-
#endif // __CLANG_LLVM_LIBC_WRAPPERS_CTYPE_H__
|