@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.
Files changed (326) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/23/include/__clang_cuda_complex_builtins.h +236 -0
  4. package/lib/clang/{21 → 23}/include/__clang_cuda_device_functions.h +1 -1
  5. package/lib/clang/{21 → 23}/include/__clang_cuda_intrinsics.h +207 -226
  6. package/lib/clang/{21 → 23}/include/__clang_cuda_math_forward_declares.h +5 -0
  7. package/lib/clang/{21 → 23}/include/__clang_cuda_runtime_wrapper.h +27 -5
  8. package/lib/clang/23/include/__clang_gpu_builtin_vars.h +71 -0
  9. package/lib/clang/23/include/__clang_gpu_device_functions.h +411 -0
  10. package/lib/clang/23/include/__clang_gpu_intrinsics.h +242 -0
  11. package/lib/clang/{21 → 23}/include/__clang_hip_libdevice_declares.h +14 -121
  12. package/lib/clang/{21 → 23}/include/__clang_hip_math.h +5 -5
  13. package/lib/clang/{21 → 23}/include/__clang_hip_runtime_wrapper.h +9 -1
  14. package/lib/clang/{21 → 23}/include/__clang_spirv_builtins.h +12 -12
  15. package/lib/clang/23/include/__clang_spirv_libdevice_declares.h +170 -0
  16. package/lib/clang/23/include/__clang_spirv_math.h +719 -0
  17. package/lib/clang/{21/include/float.h → 23/include/__float_float.h} +13 -24
  18. package/lib/clang/23/include/__float_header_macro.h +12 -0
  19. package/lib/clang/23/include/__float_infinity_nan.h +20 -0
  20. package/lib/clang/{21 → 23}/include/altivec.h +79 -9
  21. package/lib/clang/{21 → 23}/include/amdgpuintrin.h +2 -29
  22. package/lib/clang/23/include/amdhsa_abi.h +83 -0
  23. package/lib/clang/23/include/amo.h +220 -0
  24. package/lib/clang/{21 → 23}/include/amxavx512intrin.h +215 -1
  25. package/lib/clang/{21 → 23}/include/amxintrin.h +0 -2
  26. package/lib/clang/{21 → 23}/include/andes_vector.h +5 -0
  27. package/lib/clang/23/include/arm64_neon.h +21 -0
  28. package/lib/clang/{21 → 23}/include/arm64intr.h +10 -0
  29. package/lib/clang/{21 → 23}/include/arm_acle.h +38 -27
  30. package/lib/clang/{21 → 23}/include/arm_neon.h +4140 -3836
  31. package/lib/clang/{21 → 23}/include/arm_sme.h +20 -8
  32. package/lib/clang/{21 → 23}/include/arm_sve.h +4582 -3782
  33. package/lib/clang/{21 → 23}/include/avx10_2_512bf16intrin.h +19 -12
  34. package/lib/clang/{21 → 23}/include/avx10_2_512convertintrin.h +1 -1
  35. package/lib/clang/{21 → 23}/include/avx10_2_512niintrin.h +25 -25
  36. package/lib/clang/{21 → 23}/include/avx10_2_512satcvtdsintrin.h +1 -1
  37. package/lib/clang/{21 → 23}/include/avx10_2bf16intrin.h +54 -45
  38. package/lib/clang/{21 → 23}/include/avx10_2convertintrin.h +2 -2
  39. package/lib/clang/{21 → 23}/include/avx10_2copyintrin.h +1 -1
  40. package/lib/clang/{21 → 23}/include/avx10_2niintrin.h +2 -2
  41. package/lib/clang/{21 → 23}/include/avx10_2satcvtdsintrin.h +2 -2
  42. package/lib/clang/{21 → 23}/include/avx2intrin.h +279 -382
  43. package/lib/clang/{21 → 23}/include/avx512bf16intrin.h +25 -16
  44. package/lib/clang/{21 → 23}/include/avx512bitalgintrin.h +19 -30
  45. package/lib/clang/23/include/avx512bmmintrin.h +174 -0
  46. package/lib/clang/23/include/avx512bmmvlintrin.h +245 -0
  47. package/lib/clang/{21 → 23}/include/avx512bwintrin.h +405 -534
  48. package/lib/clang/23/include/avx512cdintrin.h +112 -0
  49. package/lib/clang/{21 → 23}/include/avx512dqintrin.h +132 -161
  50. package/lib/clang/{21 → 23}/include/avx512fintrin.h +1049 -1485
  51. package/lib/clang/{21 → 23}/include/avx512fp16intrin.h +124 -128
  52. package/lib/clang/23/include/avx512ifmaintrin.h +68 -0
  53. package/lib/clang/23/include/avx512ifmavlintrin.h +138 -0
  54. package/lib/clang/{21 → 23}/include/avx512vbmi2intrin.h +55 -48
  55. package/lib/clang/{21 → 23}/include/avx512vbmiintrin.h +19 -27
  56. package/lib/clang/{21 → 23}/include/avx512vbmivlintrin.h +35 -49
  57. package/lib/clang/{21 → 23}/include/avx512vlbf16intrin.h +32 -22
  58. package/lib/clang/{21 → 23}/include/avx512vlbitalgintrin.h +37 -53
  59. package/lib/clang/{21 → 23}/include/avx512vlbwintrin.h +494 -609
  60. package/lib/clang/23/include/avx512vlcdintrin.h +202 -0
  61. package/lib/clang/{21 → 23}/include/avx512vldqintrin.h +110 -127
  62. package/lib/clang/{21 → 23}/include/avx512vlfp16intrin.h +130 -111
  63. package/lib/clang/{21 → 23}/include/avx512vlintrin.h +1025 -1395
  64. package/lib/clang/{21 → 23}/include/avx512vlvbmi2intrin.h +102 -95
  65. package/lib/clang/{21 → 23}/include/avx512vlvnniintrin.h +50 -52
  66. package/lib/clang/{21 → 23}/include/avx512vlvp2intersectintrin.h +2 -2
  67. package/lib/clang/{21 → 23}/include/avx512vnniintrin.h +42 -45
  68. package/lib/clang/{21 → 23}/include/avx512vp2intersectintrin.h +2 -3
  69. package/lib/clang/{21 → 23}/include/avx512vpopcntdqintrin.h +8 -10
  70. package/lib/clang/{21 → 23}/include/avx512vpopcntdqvlintrin.h +17 -15
  71. package/lib/clang/{21 → 23}/include/avxifmaintrin.h +16 -0
  72. package/lib/clang/{21 → 23}/include/avxintrin.h +165 -241
  73. package/lib/clang/{21 → 23}/include/avxvnniint16intrin.h +118 -99
  74. package/lib/clang/{21 → 23}/include/avxvnniint8intrin.h +56 -32
  75. package/lib/clang/{21 → 23}/include/avxvnniintrin.h +39 -26
  76. package/lib/clang/{21 → 23}/include/cpuid.h +101 -4
  77. package/lib/clang/{21 → 23}/include/crc32intrin.h +10 -8
  78. package/lib/clang/23/include/cuda_wrappers/__utility/declval.h +28 -0
  79. package/lib/clang/{21 → 23}/include/emmintrin.h +176 -176
  80. package/lib/clang/23/include/endian.h +91 -0
  81. package/lib/clang/{21 → 23}/include/f16cintrin.h +23 -9
  82. package/lib/clang/23/include/float.h +48 -0
  83. package/lib/clang/23/include/fma4intrin.h +220 -0
  84. package/lib/clang/{21 → 23}/include/fmaintrin.h +96 -66
  85. package/lib/clang/{21 → 23}/include/gfniintrin.h +21 -16
  86. package/lib/clang/{21 → 23}/include/gpuintrin.h +129 -109
  87. package/lib/clang/{21 → 23}/include/hexagon_types.h +23 -20
  88. package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics.h +222 -0
  89. package/lib/clang/{21/include/hlsl/hlsl_alias_intrinsics.h → 23/include/hlsl/hlsl_alias_intrinsics_gen.inc} +2090 -1032
  90. package/lib/clang/23/include/hlsl/hlsl_basic_types.h +370 -0
  91. package/lib/clang/{21 → 23}/include/hlsl/hlsl_compat_overloads.h +150 -18
  92. package/lib/clang/{21 → 23}/include/hlsl/hlsl_detail.h +6 -4
  93. package/lib/clang/23/include/hlsl/hlsl_inline_intrinsics_gen.inc +546 -0
  94. package/lib/clang/{21 → 23}/include/hlsl/hlsl_intrinsic_helpers.h +71 -45
  95. package/lib/clang/23/include/hlsl/hlsl_intrinsics.h +331 -0
  96. package/lib/clang/{21 → 23}/include/hvx_hexagon_protos.h +724 -913
  97. package/lib/clang/{21 → 23}/include/immintrin.h +4 -14
  98. package/lib/clang/{21 → 23}/include/intrin.h +24 -10
  99. package/lib/clang/{21 → 23}/include/larchintrin.h +2 -0
  100. package/lib/clang/{21 → 23}/include/lasxintrin.h +113 -0
  101. package/lib/clang/{21 → 23}/include/llvm_libc_wrappers/assert.h +3 -5
  102. package/lib/clang/23/include/llvm_libc_wrappers/ctype.h +29 -0
  103. package/lib/clang/{21 → 23}/include/llvm_libc_wrappers/inttypes.h +3 -5
  104. package/lib/clang/23/include/llvm_libc_wrappers/stdio.h +52 -0
  105. package/lib/clang/23/include/llvm_libc_wrappers/stdlib.h +32 -0
  106. package/lib/clang/23/include/llvm_libc_wrappers/string.h +29 -0
  107. package/lib/clang/{21 → 23}/include/llvm_libc_wrappers/time.h +4 -10
  108. package/lib/clang/{21 → 23}/include/mmintrin.h +188 -257
  109. package/lib/clang/{21 → 23}/include/module.modulemap +39 -5
  110. package/lib/clang/{21 → 23}/include/movrs_avx10_2_512intrin.h +2 -2
  111. package/lib/clang/{21 → 23}/include/movrs_avx10_2intrin.h +4 -4
  112. package/lib/clang/{21 → 23}/include/nvptxintrin.h +15 -26
  113. package/lib/clang/{21 → 23}/include/opencl-c-base.h +7 -93
  114. package/lib/clang/{21 → 23}/include/opencl-c.h +225 -118
  115. package/lib/clang/{21 → 23}/include/openmp_wrappers/__clang_openmp_device_functions.h +14 -0
  116. package/lib/clang/{21 → 23}/include/openmp_wrappers/complex +7 -1
  117. package/lib/clang/{21 → 23}/include/openmp_wrappers/complex.h +6 -0
  118. package/lib/clang/{21 → 23}/include/openmp_wrappers/math.h +10 -0
  119. package/lib/clang/{21 → 23}/include/pmmintrin.h +12 -24
  120. package/lib/clang/{21 → 23}/include/ptrauth.h +104 -12
  121. package/lib/clang/{21 → 23}/include/riscv_bitmanip.h +7 -0
  122. package/lib/clang/{21 → 23}/include/riscv_corev_alu.h +2 -0
  123. package/lib/clang/{21 → 23}/include/riscv_crypto.h +8 -0
  124. package/lib/clang/23/include/riscv_mips.h +36 -0
  125. package/lib/clang/23/include/riscv_nds.h +92 -0
  126. package/lib/clang/{21 → 23}/include/riscv_ntlh.h +2 -0
  127. package/lib/clang/23/include/riscv_packed_simd.h +644 -0
  128. package/lib/clang/{21 → 23}/include/riscv_vector.h +43 -0
  129. package/lib/clang/{21 → 23}/include/sifive_vector.h +76 -2
  130. package/lib/clang/{21 → 23}/include/sm4evexintrin.h +2 -2
  131. package/lib/clang/{21 → 23}/include/smmintrin.h +77 -59
  132. package/lib/clang/23/include/spirvintrin.h +167 -0
  133. package/lib/clang/23/include/stddefer.h +19 -0
  134. package/lib/clang/{21 → 23}/include/stdint.h +5 -14
  135. package/lib/clang/{21 → 23}/include/tmmintrin.h +116 -147
  136. package/lib/clang/{21 → 23}/include/vaesintrin.h +1 -2
  137. package/lib/clang/{21 → 23}/include/vecintrin.h +1 -1
  138. package/lib/clang/{21 → 23}/include/wasm_simd128.h +17 -0
  139. package/lib/clang/{21 → 23}/include/xmmintrin.h +50 -75
  140. package/lib/clang/{21 → 23}/include/xopintrin.h +20 -10
  141. package/lib/clang/23/include/zos_wrappers/grp.h +19 -0
  142. package/lib/clang/23/include/zos_wrappers/locale.h +19 -0
  143. package/lib/clang/23/include/zos_wrappers/math.h +31 -0
  144. package/lib/clang/23/include/zos_wrappers/poll.h +19 -0
  145. package/lib/clang/23/include/zos_wrappers/stdlib.h +20 -0
  146. package/lib/clang/23/include/zos_wrappers/string.h +19 -0
  147. package/lib/clang/23/include/zos_wrappers/time.h +19 -0
  148. package/lib/clang/23/include/zos_wrappers/variant.h +19 -0
  149. package/package.json +6 -6
  150. package/lib/clang/21/include/__clang_cuda_complex_builtins.h +0 -285
  151. package/lib/clang/21/include/amxbf16transposeintrin.h +0 -94
  152. package/lib/clang/21/include/amxcomplextransposeintrin.h +0 -303
  153. package/lib/clang/21/include/amxfp16transposeintrin.h +0 -94
  154. package/lib/clang/21/include/amxmovrstransposeintrin.h +0 -200
  155. package/lib/clang/21/include/amxtf32intrin.h +0 -108
  156. package/lib/clang/21/include/amxtf32transposeintrin.h +0 -105
  157. package/lib/clang/21/include/amxtransposeintrin.h +0 -248
  158. package/lib/clang/21/include/avx512cdintrin.h +0 -125
  159. package/lib/clang/21/include/avx512ifmaintrin.h +0 -70
  160. package/lib/clang/21/include/avx512ifmavlintrin.h +0 -111
  161. package/lib/clang/21/include/avx512vlcdintrin.h +0 -230
  162. package/lib/clang/21/include/fma4intrin.h +0 -218
  163. package/lib/clang/21/include/hlsl/hlsl_basic_types.h +0 -120
  164. package/lib/clang/21/include/hlsl/hlsl_intrinsics.h +0 -526
  165. package/lib/clang/21/include/llvm_libc_wrappers/ctype.h +0 -140
  166. package/lib/clang/21/include/llvm_libc_wrappers/stdio.h +0 -80
  167. package/lib/clang/21/include/llvm_libc_wrappers/stdlib.h +0 -53
  168. package/lib/clang/21/include/llvm_libc_wrappers/string.h +0 -96
  169. /package/lib/clang/{21 → 23}/include/__clang_cuda_builtin_vars.h +0 -0
  170. /package/lib/clang/{21 → 23}/include/__clang_cuda_cmath.h +0 -0
  171. /package/lib/clang/{21 → 23}/include/__clang_cuda_libdevice_declares.h +0 -0
  172. /package/lib/clang/{21 → 23}/include/__clang_cuda_math.h +0 -0
  173. /package/lib/clang/{21 → 23}/include/__clang_cuda_texture_intrinsics.h +0 -0
  174. /package/lib/clang/{21 → 23}/include/__clang_hip_cmath.h +0 -0
  175. /package/lib/clang/{21 → 23}/include/__clang_hip_stdlib.h +0 -0
  176. /package/lib/clang/{21 → 23}/include/__stdarg___gnuc_va_list.h +0 -0
  177. /package/lib/clang/{21 → 23}/include/__stdarg___va_copy.h +0 -0
  178. /package/lib/clang/{21 → 23}/include/__stdarg_header_macro.h +0 -0
  179. /package/lib/clang/{21 → 23}/include/__stdarg_va_arg.h +0 -0
  180. /package/lib/clang/{21 → 23}/include/__stdarg_va_copy.h +0 -0
  181. /package/lib/clang/{21 → 23}/include/__stdarg_va_list.h +0 -0
  182. /package/lib/clang/{21 → 23}/include/__stddef_header_macro.h +0 -0
  183. /package/lib/clang/{21 → 23}/include/__stddef_max_align_t.h +0 -0
  184. /package/lib/clang/{21 → 23}/include/__stddef_null.h +0 -0
  185. /package/lib/clang/{21 → 23}/include/__stddef_nullptr_t.h +0 -0
  186. /package/lib/clang/{21 → 23}/include/__stddef_offsetof.h +0 -0
  187. /package/lib/clang/{21 → 23}/include/__stddef_ptrdiff_t.h +0 -0
  188. /package/lib/clang/{21 → 23}/include/__stddef_rsize_t.h +0 -0
  189. /package/lib/clang/{21 → 23}/include/__stddef_size_t.h +0 -0
  190. /package/lib/clang/{21 → 23}/include/__stddef_unreachable.h +0 -0
  191. /package/lib/clang/{21 → 23}/include/__stddef_wchar_t.h +0 -0
  192. /package/lib/clang/{21 → 23}/include/__stddef_wint_t.h +0 -0
  193. /package/lib/clang/{21 → 23}/include/__wmmintrin_aes.h +0 -0
  194. /package/lib/clang/{21 → 23}/include/__wmmintrin_pclmul.h +0 -0
  195. /package/lib/clang/{21 → 23}/include/adcintrin.h +0 -0
  196. /package/lib/clang/{21 → 23}/include/adxintrin.h +0 -0
  197. /package/lib/clang/{21 → 23}/include/ammintrin.h +0 -0
  198. /package/lib/clang/{21 → 23}/include/amxcomplexintrin.h +0 -0
  199. /package/lib/clang/{21 → 23}/include/amxfp16intrin.h +0 -0
  200. /package/lib/clang/{21 → 23}/include/amxfp8intrin.h +0 -0
  201. /package/lib/clang/{21 → 23}/include/amxmovrsintrin.h +0 -0
  202. /package/lib/clang/{21 → 23}/include/arm_bf16.h +0 -0
  203. /package/lib/clang/{21 → 23}/include/arm_cde.h +0 -0
  204. /package/lib/clang/{21 → 23}/include/arm_cmse.h +0 -0
  205. /package/lib/clang/{21 → 23}/include/arm_fp16.h +0 -0
  206. /package/lib/clang/{21 → 23}/include/arm_mve.h +0 -0
  207. /package/lib/clang/{21 → 23}/include/arm_neon_sve_bridge.h +0 -0
  208. /package/lib/clang/{21 → 23}/include/arm_vector_types.h +0 -0
  209. /package/lib/clang/{21 → 23}/include/armintr.h +0 -0
  210. /package/lib/clang/{21 → 23}/include/avx10_2_512minmaxintrin.h +0 -0
  211. /package/lib/clang/{21 → 23}/include/avx10_2_512satcvtintrin.h +0 -0
  212. /package/lib/clang/{21 → 23}/include/avx10_2minmaxintrin.h +0 -0
  213. /package/lib/clang/{21 → 23}/include/avx10_2satcvtintrin.h +0 -0
  214. /package/lib/clang/{21 → 23}/include/avxneconvertintrin.h +0 -0
  215. /package/lib/clang/{21 → 23}/include/bmi2intrin.h +0 -0
  216. /package/lib/clang/{21 → 23}/include/bmiintrin.h +0 -0
  217. /package/lib/clang/{21 → 23}/include/builtins.h +0 -0
  218. /package/lib/clang/{21 → 23}/include/cet.h +0 -0
  219. /package/lib/clang/{21 → 23}/include/cetintrin.h +0 -0
  220. /package/lib/clang/{21 → 23}/include/cldemoteintrin.h +0 -0
  221. /package/lib/clang/{21 → 23}/include/clflushoptintrin.h +0 -0
  222. /package/lib/clang/{21 → 23}/include/clwbintrin.h +0 -0
  223. /package/lib/clang/{21 → 23}/include/clzerointrin.h +0 -0
  224. /package/lib/clang/{21 → 23}/include/cmpccxaddintrin.h +0 -0
  225. /package/lib/clang/{21 → 23}/include/cuda_wrappers/algorithm +0 -0
  226. /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/basic_string.h +0 -0
  227. /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
  228. /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/c++config.h +0 -0
  229. /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
  230. /package/lib/clang/{21 → 23}/include/cuda_wrappers/cmath +0 -0
  231. /package/lib/clang/{21 → 23}/include/cuda_wrappers/complex +0 -0
  232. /package/lib/clang/{21 → 23}/include/cuda_wrappers/new +0 -0
  233. /package/lib/clang/{21 → 23}/include/enqcmdintrin.h +0 -0
  234. /package/lib/clang/{21 → 23}/include/fxsrintrin.h +0 -0
  235. /package/lib/clang/{21 → 23}/include/hexagon_circ_brev_intrinsics.h +0 -0
  236. /package/lib/clang/{21 → 23}/include/hexagon_protos.h +0 -0
  237. /package/lib/clang/{21 → 23}/include/hlsl/hlsl_spirv.h +0 -0
  238. /package/lib/clang/{21 → 23}/include/hlsl.h +0 -0
  239. /package/lib/clang/{21 → 23}/include/hresetintrin.h +0 -0
  240. /package/lib/clang/{21 → 23}/include/htmintrin.h +0 -0
  241. /package/lib/clang/{21 → 23}/include/htmxlintrin.h +0 -0
  242. /package/lib/clang/{21 → 23}/include/ia32intrin.h +0 -0
  243. /package/lib/clang/{21 → 23}/include/intrin0.h +0 -0
  244. /package/lib/clang/{21 → 23}/include/inttypes.h +0 -0
  245. /package/lib/clang/{21 → 23}/include/invpcidintrin.h +0 -0
  246. /package/lib/clang/{21 → 23}/include/iso646.h +0 -0
  247. /package/lib/clang/{21 → 23}/include/keylockerintrin.h +0 -0
  248. /package/lib/clang/{21 → 23}/include/limits.h +0 -0
  249. /package/lib/clang/{21 → 23}/include/llvm_offload_wrappers/__llvm_offload.h +0 -0
  250. /package/lib/clang/{21 → 23}/include/llvm_offload_wrappers/__llvm_offload_device.h +0 -0
  251. /package/lib/clang/{21 → 23}/include/llvm_offload_wrappers/__llvm_offload_host.h +0 -0
  252. /package/lib/clang/{21 → 23}/include/lsxintrin.h +0 -0
  253. /package/lib/clang/{21 → 23}/include/lwpintrin.h +0 -0
  254. /package/lib/clang/{21 → 23}/include/lzcntintrin.h +0 -0
  255. /package/lib/clang/{21 → 23}/include/mm3dnow.h +0 -0
  256. /package/lib/clang/{21 → 23}/include/mm_malloc.h +0 -0
  257. /package/lib/clang/{21 → 23}/include/movdirintrin.h +0 -0
  258. /package/lib/clang/{21 → 23}/include/movrsintrin.h +0 -0
  259. /package/lib/clang/{21 → 23}/include/msa.h +0 -0
  260. /package/lib/clang/{21 → 23}/include/mwaitxintrin.h +0 -0
  261. /package/lib/clang/{21 → 23}/include/nmmintrin.h +0 -0
  262. /package/lib/clang/{21 → 23}/include/openmp_wrappers/cmath +0 -0
  263. /package/lib/clang/{21 → 23}/include/openmp_wrappers/complex_cmath.h +0 -0
  264. /package/lib/clang/{21 → 23}/include/openmp_wrappers/new +0 -0
  265. /package/lib/clang/{21 → 23}/include/pconfigintrin.h +0 -0
  266. /package/lib/clang/{21 → 23}/include/pkuintrin.h +0 -0
  267. /package/lib/clang/{21 → 23}/include/popcntintrin.h +0 -0
  268. /package/lib/clang/{21 → 23}/include/ppc_wrappers/bmi2intrin.h +0 -0
  269. /package/lib/clang/{21 → 23}/include/ppc_wrappers/bmiintrin.h +0 -0
  270. /package/lib/clang/{21 → 23}/include/ppc_wrappers/emmintrin.h +0 -0
  271. /package/lib/clang/{21 → 23}/include/ppc_wrappers/immintrin.h +0 -0
  272. /package/lib/clang/{21 → 23}/include/ppc_wrappers/mm_malloc.h +0 -0
  273. /package/lib/clang/{21 → 23}/include/ppc_wrappers/mmintrin.h +0 -0
  274. /package/lib/clang/{21 → 23}/include/ppc_wrappers/nmmintrin.h +0 -0
  275. /package/lib/clang/{21 → 23}/include/ppc_wrappers/pmmintrin.h +0 -0
  276. /package/lib/clang/{21 → 23}/include/ppc_wrappers/smmintrin.h +0 -0
  277. /package/lib/clang/{21 → 23}/include/ppc_wrappers/tmmintrin.h +0 -0
  278. /package/lib/clang/{21 → 23}/include/ppc_wrappers/x86gprintrin.h +0 -0
  279. /package/lib/clang/{21 → 23}/include/ppc_wrappers/x86intrin.h +0 -0
  280. /package/lib/clang/{21 → 23}/include/ppc_wrappers/xmmintrin.h +0 -0
  281. /package/lib/clang/{21 → 23}/include/prfchiintrin.h +0 -0
  282. /package/lib/clang/{21 → 23}/include/prfchwintrin.h +0 -0
  283. /package/lib/clang/{21 → 23}/include/ptwriteintrin.h +0 -0
  284. /package/lib/clang/{21 → 23}/include/raointintrin.h +0 -0
  285. /package/lib/clang/{21 → 23}/include/rdpruintrin.h +0 -0
  286. /package/lib/clang/{21 → 23}/include/rdseedintrin.h +0 -0
  287. /package/lib/clang/{21 → 23}/include/rtmintrin.h +0 -0
  288. /package/lib/clang/{21 → 23}/include/s390intrin.h +0 -0
  289. /package/lib/clang/{21 → 23}/include/serializeintrin.h +0 -0
  290. /package/lib/clang/{21 → 23}/include/sgxintrin.h +0 -0
  291. /package/lib/clang/{21 → 23}/include/sha512intrin.h +0 -0
  292. /package/lib/clang/{21 → 23}/include/shaintrin.h +0 -0
  293. /package/lib/clang/{21 → 23}/include/sm3intrin.h +0 -0
  294. /package/lib/clang/{21 → 23}/include/sm4intrin.h +0 -0
  295. /package/lib/clang/{21 → 23}/include/stdalign.h +0 -0
  296. /package/lib/clang/{21 → 23}/include/stdarg.h +0 -0
  297. /package/lib/clang/{21 → 23}/include/stdatomic.h +0 -0
  298. /package/lib/clang/{21 → 23}/include/stdbool.h +0 -0
  299. /package/lib/clang/{21 → 23}/include/stdckdint.h +0 -0
  300. /package/lib/clang/{21 → 23}/include/stdcountof.h +0 -0
  301. /package/lib/clang/{21 → 23}/include/stddef.h +0 -0
  302. /package/lib/clang/{21 → 23}/include/stdnoreturn.h +0 -0
  303. /package/lib/clang/{21 → 23}/include/tbmintrin.h +0 -0
  304. /package/lib/clang/{21 → 23}/include/tgmath.h +0 -0
  305. /package/lib/clang/{21 → 23}/include/tsxldtrkintrin.h +0 -0
  306. /package/lib/clang/{21 → 23}/include/uintrintrin.h +0 -0
  307. /package/lib/clang/{21 → 23}/include/unwind.h +0 -0
  308. /package/lib/clang/{21 → 23}/include/usermsrintrin.h +0 -0
  309. /package/lib/clang/{21 → 23}/include/vadefs.h +0 -0
  310. /package/lib/clang/{21 → 23}/include/varargs.h +0 -0
  311. /package/lib/clang/{21 → 23}/include/velintrin.h +0 -0
  312. /package/lib/clang/{21 → 23}/include/velintrin_approx.h +0 -0
  313. /package/lib/clang/{21 → 23}/include/velintrin_gen.h +0 -0
  314. /package/lib/clang/{21 → 23}/include/vpclmulqdqintrin.h +0 -0
  315. /package/lib/clang/{21 → 23}/include/waitpkgintrin.h +0 -0
  316. /package/lib/clang/{21 → 23}/include/wbnoinvdintrin.h +0 -0
  317. /package/lib/clang/{21 → 23}/include/wmmintrin.h +0 -0
  318. /package/lib/clang/{21 → 23}/include/x86gprintrin.h +0 -0
  319. /package/lib/clang/{21 → 23}/include/x86intrin.h +0 -0
  320. /package/lib/clang/{21 → 23}/include/xsavecintrin.h +0 -0
  321. /package/lib/clang/{21 → 23}/include/xsaveintrin.h +0 -0
  322. /package/lib/clang/{21 → 23}/include/xsaveoptintrin.h +0 -0
  323. /package/lib/clang/{21 → 23}/include/xsavesintrin.h +0 -0
  324. /package/lib/clang/{21 → 23}/include/xtestintrin.h +0 -0
  325. /package/lib/clang/{21 → 23}/include/yvals_core.h +0 -0
  326. /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__