@cpp-linter/clang-tidy-win32-x64 20.1.0 → 22.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/22/include/__clang_cuda_complex_builtins.h +229 -0
  4. package/lib/clang/{20 → 22}/include/__clang_cuda_device_functions.h +1 -1
  5. package/lib/clang/{20 → 22}/include/__clang_cuda_intrinsics.h +295 -8
  6. package/lib/clang/{20 → 22}/include/__clang_cuda_runtime_wrapper.h +19 -0
  7. package/lib/clang/{20 → 22}/include/__clang_cuda_texture_intrinsics.h +437 -2
  8. package/lib/clang/{20 → 22}/include/__clang_hip_cmath.h +9 -8
  9. package/lib/clang/{20 → 22}/include/__clang_hip_libdevice_declares.h +29 -42
  10. package/lib/clang/{20 → 22}/include/__clang_hip_math.h +107 -31
  11. package/lib/clang/{20 → 22}/include/__clang_hip_runtime_wrapper.h +6 -0
  12. package/lib/clang/22/include/__clang_spirv_builtins.h +217 -0
  13. package/lib/clang/{20/include/float.h → 22/include/__float_float.h} +14 -34
  14. package/lib/clang/22/include/__float_header_macro.h +12 -0
  15. package/lib/clang/22/include/__float_infinity_nan.h +20 -0
  16. package/lib/clang/{20 → 22}/include/__stdarg_va_arg.h +2 -2
  17. package/lib/clang/{20 → 22}/include/altivec.h +82 -79
  18. package/lib/clang/{20 → 22}/include/amdgpuintrin.h +23 -26
  19. package/lib/clang/22/include/amo.h +131 -0
  20. package/lib/clang/{20 → 22}/include/amxavx512intrin.h +216 -2
  21. package/lib/clang/{20 → 22}/include/amxcomplexintrin.h +4 -6
  22. package/lib/clang/{20 → 22}/include/amxintrin.h +0 -2
  23. package/lib/clang/22/include/andes_vector.h +16 -0
  24. package/lib/clang/{20 → 22}/include/arm_acle.h +48 -68
  25. package/lib/clang/{20 → 22}/include/arm_fp16.h +89 -89
  26. package/lib/clang/{20 → 22}/include/arm_neon.h +22413 -19759
  27. package/lib/clang/{20 → 22}/include/arm_sme.h +702 -8
  28. package/lib/clang/{20 → 22}/include/arm_sve.h +6346 -5626
  29. package/lib/clang/{20 → 22}/include/avx10_2_512bf16intrin.h +19 -12
  30. package/lib/clang/{20 → 22}/include/avx10_2_512convertintrin.h +25 -23
  31. package/lib/clang/{20 → 22}/include/avx10_2_512niintrin.h +31 -31
  32. package/lib/clang/{20 → 22}/include/avx10_2_512satcvtdsintrin.h +29 -25
  33. package/lib/clang/{20 → 22}/include/avx10_2_512satcvtintrin.h +84 -84
  34. package/lib/clang/{20 → 22}/include/avx10_2bf16intrin.h +54 -45
  35. package/lib/clang/22/include/avx10_2convertintrin.h +3257 -0
  36. package/lib/clang/{20 → 22}/include/avx10_2copyintrin.h +1 -1
  37. package/lib/clang/{20 → 22}/include/avx10_2minmaxintrin.h +18 -63
  38. package/lib/clang/22/include/avx10_2niintrin.h +409 -0
  39. package/lib/clang/22/include/avx10_2satcvtdsintrin.h +376 -0
  40. package/lib/clang/22/include/avx10_2satcvtintrin.h +312 -0
  41. package/lib/clang/{20 → 22}/include/avx2intrin.h +275 -377
  42. package/lib/clang/{20 → 22}/include/avx512bf16intrin.h +25 -16
  43. package/lib/clang/{20 → 22}/include/avx512bitalgintrin.h +19 -30
  44. package/lib/clang/{20 → 22}/include/avx512bwintrin.h +386 -505
  45. package/lib/clang/22/include/avx512cdintrin.h +112 -0
  46. package/lib/clang/{20 → 22}/include/avx512dqintrin.h +132 -161
  47. package/lib/clang/{20 → 22}/include/avx512fintrin.h +1015 -1424
  48. package/lib/clang/{20 → 22}/include/avx512fp16intrin.h +114 -111
  49. package/lib/clang/22/include/avx512ifmaintrin.h +68 -0
  50. package/lib/clang/22/include/avx512ifmavlintrin.h +138 -0
  51. package/lib/clang/{20 → 22}/include/avx512vbmi2intrin.h +43 -32
  52. package/lib/clang/{20 → 22}/include/avx512vbmiintrin.h +19 -27
  53. package/lib/clang/{20 → 22}/include/avx512vbmivlintrin.h +35 -49
  54. package/lib/clang/{20 → 22}/include/avx512vlbf16intrin.h +32 -22
  55. package/lib/clang/{20 → 22}/include/avx512vlbitalgintrin.h +37 -53
  56. package/lib/clang/{20 → 22}/include/avx512vlbwintrin.h +470 -573
  57. package/lib/clang/22/include/avx512vlcdintrin.h +202 -0
  58. package/lib/clang/{20 → 22}/include/avx512vldqintrin.h +110 -127
  59. package/lib/clang/{20 → 22}/include/avx512vlfp16intrin.h +130 -111
  60. package/lib/clang/{20 → 22}/include/avx512vlintrin.h +945 -1299
  61. package/lib/clang/{20 → 22}/include/avx512vlvbmi2intrin.h +78 -63
  62. package/lib/clang/{20 → 22}/include/avx512vlvnniintrin.h +21 -18
  63. package/lib/clang/{20 → 22}/include/avx512vlvp2intersectintrin.h +2 -2
  64. package/lib/clang/{20 → 22}/include/avx512vnniintrin.h +10 -10
  65. package/lib/clang/{20 → 22}/include/avx512vp2intersectintrin.h +1 -2
  66. package/lib/clang/{20 → 22}/include/avx512vpopcntdqintrin.h +8 -10
  67. package/lib/clang/{20 → 22}/include/avx512vpopcntdqvlintrin.h +17 -15
  68. package/lib/clang/{20 → 22}/include/avxifmaintrin.h +16 -0
  69. package/lib/clang/{20 → 22}/include/avxintrin.h +165 -241
  70. package/lib/clang/{20 → 22}/include/avxvnniint16intrin.h +118 -99
  71. package/lib/clang/{20 → 22}/include/avxvnniint8intrin.h +56 -32
  72. package/lib/clang/{20 → 22}/include/avxvnniintrin.h +16 -8
  73. package/lib/clang/{20 → 22}/include/bmiintrin.h +0 -4
  74. package/lib/clang/{20 → 22}/include/cpuid.h +125 -26
  75. package/lib/clang/22/include/cuda_wrappers/__utility/declval.h +28 -0
  76. package/lib/clang/22/include/cuda_wrappers/bits/c++config.h +61 -0
  77. package/lib/clang/{20 → 22}/include/cuda_wrappers/cmath +0 -50
  78. package/lib/clang/{20 → 22}/include/emmintrin.h +168 -168
  79. package/lib/clang/{20 → 22}/include/f16cintrin.h +23 -9
  80. package/lib/clang/22/include/float.h +48 -0
  81. package/lib/clang/22/include/fma4intrin.h +220 -0
  82. package/lib/clang/{20 → 22}/include/fmaintrin.h +96 -66
  83. package/lib/clang/{20 → 22}/include/gfniintrin.h +21 -16
  84. package/lib/clang/{20 → 22}/include/gpuintrin.h +117 -11
  85. package/lib/clang/{20 → 22}/include/hexagon_types.h +23 -20
  86. package/lib/clang/{20/include/hlsl/hlsl_intrinsics.h → 22/include/hlsl/hlsl_alias_intrinsics.h} +643 -296
  87. package/lib/clang/22/include/hlsl/hlsl_basic_types.h +370 -0
  88. package/lib/clang/22/include/hlsl/hlsl_compat_overloads.h +520 -0
  89. package/lib/clang/22/include/hlsl/hlsl_detail.h +54 -0
  90. package/lib/clang/22/include/hlsl/hlsl_intrinsic_helpers.h +190 -0
  91. package/lib/clang/22/include/hlsl/hlsl_intrinsics.h +794 -0
  92. package/lib/clang/22/include/hlsl/hlsl_spirv.h +28 -0
  93. package/lib/clang/{20 → 22}/include/hlsl.h +12 -0
  94. package/lib/clang/{20 → 22}/include/hvx_hexagon_protos.h +649 -860
  95. package/lib/clang/{20 → 22}/include/immintrin.h +0 -236
  96. package/lib/clang/{20 → 22}/include/intrin.h +25 -4
  97. package/lib/clang/{20 → 22}/include/keylockerintrin.h +0 -9
  98. package/lib/clang/{20 → 22}/include/lasxintrin.h +113 -0
  99. package/lib/clang/{20 → 22}/include/llvm_libc_wrappers/assert.h +3 -5
  100. package/lib/clang/22/include/llvm_libc_wrappers/ctype.h +28 -0
  101. package/lib/clang/{20 → 22}/include/llvm_libc_wrappers/inttypes.h +3 -5
  102. package/lib/clang/22/include/llvm_libc_wrappers/stdio.h +52 -0
  103. package/lib/clang/22/include/llvm_libc_wrappers/stdlib.h +32 -0
  104. package/lib/clang/22/include/llvm_libc_wrappers/string.h +28 -0
  105. package/lib/clang/{20 → 22}/include/llvm_libc_wrappers/time.h +4 -10
  106. package/lib/clang/{20 → 22}/include/lzcntintrin.h +6 -4
  107. package/lib/clang/{20 → 22}/include/mmintrin.h +188 -257
  108. package/lib/clang/{20 → 22}/include/module.modulemap +36 -4
  109. package/lib/clang/{20 → 22}/include/movrs_avx10_2_512intrin.h +2 -2
  110. package/lib/clang/{20 → 22}/include/movrs_avx10_2intrin.h +4 -4
  111. package/lib/clang/{20 → 22}/include/movrsintrin.h +1 -1
  112. package/lib/clang/{20 → 22}/include/nvptxintrin.h +48 -31
  113. package/lib/clang/{20 → 22}/include/opencl-c-base.h +18 -93
  114. package/lib/clang/{20 → 22}/include/opencl-c.h +360 -55
  115. package/lib/clang/{20 → 22}/include/pmmintrin.h +12 -24
  116. package/lib/clang/{20 → 22}/include/prfchwintrin.h +10 -13
  117. package/lib/clang/{20 → 22}/include/ptrauth.h +73 -2
  118. package/lib/clang/{20 → 22}/include/riscv_corev_alu.h +4 -4
  119. package/lib/clang/22/include/riscv_mips.h +34 -0
  120. package/lib/clang/22/include/riscv_nds.h +89 -0
  121. package/lib/clang/{20 → 22}/include/riscv_vector.h +0 -4
  122. package/lib/clang/{20 → 22}/include/shaintrin.h +3 -2
  123. package/lib/clang/{20 → 22}/include/sifive_vector.h +58 -2
  124. package/lib/clang/{20 → 22}/include/sm4evexintrin.h +2 -2
  125. package/lib/clang/{20 → 22}/include/smmintrin.h +77 -59
  126. package/lib/clang/22/include/spirvintrin.h +194 -0
  127. package/lib/clang/22/include/stdcountof.h +15 -0
  128. package/lib/clang/22/include/stddefer.h +19 -0
  129. package/lib/clang/{20 → 22}/include/stdint.h +18 -129
  130. package/lib/clang/{20 → 22}/include/tmmintrin.h +116 -147
  131. package/lib/clang/{20 → 22}/include/vaesintrin.h +1 -2
  132. package/lib/clang/{20 → 22}/include/vecintrin.h +5 -0
  133. package/lib/clang/{20 → 22}/include/x86gprintrin.h +0 -14
  134. package/lib/clang/{20 → 22}/include/x86intrin.h +0 -18
  135. package/lib/clang/{20 → 22}/include/xmmintrin.h +47 -72
  136. package/lib/clang/{20 → 22}/include/xopintrin.h +20 -10
  137. package/package.json +6 -6
  138. package/lib/clang/20/include/__clang_cuda_complex_builtins.h +0 -285
  139. package/lib/clang/20/include/amxbf16transposeintrin.h +0 -94
  140. package/lib/clang/20/include/amxcomplextransposeintrin.h +0 -303
  141. package/lib/clang/20/include/amxfp16transposeintrin.h +0 -94
  142. package/lib/clang/20/include/amxmovrstransposeintrin.h +0 -200
  143. package/lib/clang/20/include/amxtf32transposeintrin.h +0 -105
  144. package/lib/clang/20/include/amxtransposeintrin.h +0 -248
  145. package/lib/clang/20/include/avx10_2convertintrin.h +0 -589
  146. package/lib/clang/20/include/avx10_2niintrin.h +0 -2075
  147. package/lib/clang/20/include/avx10_2satcvtdsintrin.h +0 -496
  148. package/lib/clang/20/include/avx10_2satcvtintrin.h +0 -444
  149. package/lib/clang/20/include/avx512cdintrin.h +0 -125
  150. package/lib/clang/20/include/avx512ifmaintrin.h +0 -70
  151. package/lib/clang/20/include/avx512ifmavlintrin.h +0 -111
  152. package/lib/clang/20/include/avx512vlcdintrin.h +0 -230
  153. package/lib/clang/20/include/fma4intrin.h +0 -218
  154. package/lib/clang/20/include/hlsl/hlsl_basic_types.h +0 -120
  155. package/lib/clang/20/include/hlsl/hlsl_detail.h +0 -84
  156. package/lib/clang/20/include/llvm_libc_wrappers/ctype.h +0 -140
  157. package/lib/clang/20/include/llvm_libc_wrappers/stdio.h +0 -80
  158. package/lib/clang/20/include/llvm_libc_wrappers/stdlib.h +0 -53
  159. package/lib/clang/20/include/llvm_libc_wrappers/string.h +0 -96
  160. /package/lib/clang/{20 → 22}/include/__clang_cuda_builtin_vars.h +0 -0
  161. /package/lib/clang/{20 → 22}/include/__clang_cuda_cmath.h +0 -0
  162. /package/lib/clang/{20 → 22}/include/__clang_cuda_libdevice_declares.h +0 -0
  163. /package/lib/clang/{20 → 22}/include/__clang_cuda_math.h +0 -0
  164. /package/lib/clang/{20 → 22}/include/__clang_cuda_math_forward_declares.h +0 -0
  165. /package/lib/clang/{20 → 22}/include/__clang_hip_stdlib.h +0 -0
  166. /package/lib/clang/{20 → 22}/include/__stdarg___gnuc_va_list.h +0 -0
  167. /package/lib/clang/{20 → 22}/include/__stdarg___va_copy.h +0 -0
  168. /package/lib/clang/{20 → 22}/include/__stdarg_header_macro.h +0 -0
  169. /package/lib/clang/{20 → 22}/include/__stdarg_va_copy.h +0 -0
  170. /package/lib/clang/{20 → 22}/include/__stdarg_va_list.h +0 -0
  171. /package/lib/clang/{20 → 22}/include/__stddef_header_macro.h +0 -0
  172. /package/lib/clang/{20 → 22}/include/__stddef_max_align_t.h +0 -0
  173. /package/lib/clang/{20 → 22}/include/__stddef_null.h +0 -0
  174. /package/lib/clang/{20 → 22}/include/__stddef_nullptr_t.h +0 -0
  175. /package/lib/clang/{20 → 22}/include/__stddef_offsetof.h +0 -0
  176. /package/lib/clang/{20 → 22}/include/__stddef_ptrdiff_t.h +0 -0
  177. /package/lib/clang/{20 → 22}/include/__stddef_rsize_t.h +0 -0
  178. /package/lib/clang/{20 → 22}/include/__stddef_size_t.h +0 -0
  179. /package/lib/clang/{20 → 22}/include/__stddef_unreachable.h +0 -0
  180. /package/lib/clang/{20 → 22}/include/__stddef_wchar_t.h +0 -0
  181. /package/lib/clang/{20 → 22}/include/__stddef_wint_t.h +0 -0
  182. /package/lib/clang/{20 → 22}/include/__wmmintrin_aes.h +0 -0
  183. /package/lib/clang/{20 → 22}/include/__wmmintrin_pclmul.h +0 -0
  184. /package/lib/clang/{20 → 22}/include/adcintrin.h +0 -0
  185. /package/lib/clang/{20 → 22}/include/adxintrin.h +0 -0
  186. /package/lib/clang/{20 → 22}/include/ammintrin.h +0 -0
  187. /package/lib/clang/{20 → 22}/include/amxfp16intrin.h +0 -0
  188. /package/lib/clang/{20 → 22}/include/amxfp8intrin.h +0 -0
  189. /package/lib/clang/{20 → 22}/include/amxmovrsintrin.h +0 -0
  190. /package/lib/clang/{20 → 22}/include/amxtf32intrin.h +0 -0
  191. /package/lib/clang/{20 → 22}/include/arm64intr.h +0 -0
  192. /package/lib/clang/{20 → 22}/include/arm_bf16.h +0 -0
  193. /package/lib/clang/{20 → 22}/include/arm_cde.h +0 -0
  194. /package/lib/clang/{20 → 22}/include/arm_cmse.h +0 -0
  195. /package/lib/clang/{20 → 22}/include/arm_mve.h +0 -0
  196. /package/lib/clang/{20 → 22}/include/arm_neon_sve_bridge.h +0 -0
  197. /package/lib/clang/{20 → 22}/include/arm_vector_types.h +0 -0
  198. /package/lib/clang/{20 → 22}/include/armintr.h +0 -0
  199. /package/lib/clang/{20 → 22}/include/avx10_2_512minmaxintrin.h +0 -0
  200. /package/lib/clang/{20 → 22}/include/avxneconvertintrin.h +0 -0
  201. /package/lib/clang/{20 → 22}/include/bmi2intrin.h +0 -0
  202. /package/lib/clang/{20 → 22}/include/builtins.h +0 -0
  203. /package/lib/clang/{20 → 22}/include/cet.h +0 -0
  204. /package/lib/clang/{20 → 22}/include/cetintrin.h +0 -0
  205. /package/lib/clang/{20 → 22}/include/cldemoteintrin.h +0 -0
  206. /package/lib/clang/{20 → 22}/include/clflushoptintrin.h +0 -0
  207. /package/lib/clang/{20 → 22}/include/clwbintrin.h +0 -0
  208. /package/lib/clang/{20 → 22}/include/clzerointrin.h +0 -0
  209. /package/lib/clang/{20 → 22}/include/cmpccxaddintrin.h +0 -0
  210. /package/lib/clang/{20 → 22}/include/crc32intrin.h +0 -0
  211. /package/lib/clang/{20 → 22}/include/cuda_wrappers/algorithm +0 -0
  212. /package/lib/clang/{20 → 22}/include/cuda_wrappers/bits/basic_string.h +0 -0
  213. /package/lib/clang/{20 → 22}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
  214. /package/lib/clang/{20 → 22}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
  215. /package/lib/clang/{20 → 22}/include/cuda_wrappers/complex +0 -0
  216. /package/lib/clang/{20 → 22}/include/cuda_wrappers/new +0 -0
  217. /package/lib/clang/{20 → 22}/include/enqcmdintrin.h +0 -0
  218. /package/lib/clang/{20 → 22}/include/fxsrintrin.h +0 -0
  219. /package/lib/clang/{20 → 22}/include/hexagon_circ_brev_intrinsics.h +0 -0
  220. /package/lib/clang/{20 → 22}/include/hexagon_protos.h +0 -0
  221. /package/lib/clang/{20 → 22}/include/hresetintrin.h +0 -0
  222. /package/lib/clang/{20 → 22}/include/htmintrin.h +0 -0
  223. /package/lib/clang/{20 → 22}/include/htmxlintrin.h +0 -0
  224. /package/lib/clang/{20 → 22}/include/ia32intrin.h +0 -0
  225. /package/lib/clang/{20 → 22}/include/intrin0.h +0 -0
  226. /package/lib/clang/{20 → 22}/include/inttypes.h +0 -0
  227. /package/lib/clang/{20 → 22}/include/invpcidintrin.h +0 -0
  228. /package/lib/clang/{20 → 22}/include/iso646.h +0 -0
  229. /package/lib/clang/{20 → 22}/include/larchintrin.h +0 -0
  230. /package/lib/clang/{20 → 22}/include/limits.h +0 -0
  231. /package/lib/clang/{20 → 22}/include/llvm_offload_wrappers/__llvm_offload.h +0 -0
  232. /package/lib/clang/{20 → 22}/include/llvm_offload_wrappers/__llvm_offload_device.h +0 -0
  233. /package/lib/clang/{20 → 22}/include/llvm_offload_wrappers/__llvm_offload_host.h +0 -0
  234. /package/lib/clang/{20 → 22}/include/lsxintrin.h +0 -0
  235. /package/lib/clang/{20 → 22}/include/lwpintrin.h +0 -0
  236. /package/lib/clang/{20 → 22}/include/mm3dnow.h +0 -0
  237. /package/lib/clang/{20 → 22}/include/mm_malloc.h +0 -0
  238. /package/lib/clang/{20 → 22}/include/movdirintrin.h +0 -0
  239. /package/lib/clang/{20 → 22}/include/msa.h +0 -0
  240. /package/lib/clang/{20 → 22}/include/mwaitxintrin.h +0 -0
  241. /package/lib/clang/{20 → 22}/include/nmmintrin.h +0 -0
  242. /package/lib/clang/{20 → 22}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
  243. /package/lib/clang/{20 → 22}/include/openmp_wrappers/cmath +0 -0
  244. /package/lib/clang/{20 → 22}/include/openmp_wrappers/complex +0 -0
  245. /package/lib/clang/{20 → 22}/include/openmp_wrappers/complex.h +0 -0
  246. /package/lib/clang/{20 → 22}/include/openmp_wrappers/complex_cmath.h +0 -0
  247. /package/lib/clang/{20 → 22}/include/openmp_wrappers/math.h +0 -0
  248. /package/lib/clang/{20 → 22}/include/openmp_wrappers/new +0 -0
  249. /package/lib/clang/{20 → 22}/include/pconfigintrin.h +0 -0
  250. /package/lib/clang/{20 → 22}/include/pkuintrin.h +0 -0
  251. /package/lib/clang/{20 → 22}/include/popcntintrin.h +0 -0
  252. /package/lib/clang/{20 → 22}/include/ppc_wrappers/bmi2intrin.h +0 -0
  253. /package/lib/clang/{20 → 22}/include/ppc_wrappers/bmiintrin.h +0 -0
  254. /package/lib/clang/{20 → 22}/include/ppc_wrappers/emmintrin.h +0 -0
  255. /package/lib/clang/{20 → 22}/include/ppc_wrappers/immintrin.h +0 -0
  256. /package/lib/clang/{20 → 22}/include/ppc_wrappers/mm_malloc.h +0 -0
  257. /package/lib/clang/{20 → 22}/include/ppc_wrappers/mmintrin.h +0 -0
  258. /package/lib/clang/{20 → 22}/include/ppc_wrappers/nmmintrin.h +0 -0
  259. /package/lib/clang/{20 → 22}/include/ppc_wrappers/pmmintrin.h +0 -0
  260. /package/lib/clang/{20 → 22}/include/ppc_wrappers/smmintrin.h +0 -0
  261. /package/lib/clang/{20 → 22}/include/ppc_wrappers/tmmintrin.h +0 -0
  262. /package/lib/clang/{20 → 22}/include/ppc_wrappers/x86gprintrin.h +0 -0
  263. /package/lib/clang/{20 → 22}/include/ppc_wrappers/x86intrin.h +0 -0
  264. /package/lib/clang/{20 → 22}/include/ppc_wrappers/xmmintrin.h +0 -0
  265. /package/lib/clang/{20 → 22}/include/prfchiintrin.h +0 -0
  266. /package/lib/clang/{20 → 22}/include/ptwriteintrin.h +0 -0
  267. /package/lib/clang/{20 → 22}/include/raointintrin.h +0 -0
  268. /package/lib/clang/{20 → 22}/include/rdpruintrin.h +0 -0
  269. /package/lib/clang/{20 → 22}/include/rdseedintrin.h +0 -0
  270. /package/lib/clang/{20 → 22}/include/riscv_bitmanip.h +0 -0
  271. /package/lib/clang/{20 → 22}/include/riscv_crypto.h +0 -0
  272. /package/lib/clang/{20 → 22}/include/riscv_ntlh.h +0 -0
  273. /package/lib/clang/{20 → 22}/include/rtmintrin.h +0 -0
  274. /package/lib/clang/{20 → 22}/include/s390intrin.h +0 -0
  275. /package/lib/clang/{20 → 22}/include/serializeintrin.h +0 -0
  276. /package/lib/clang/{20 → 22}/include/sgxintrin.h +0 -0
  277. /package/lib/clang/{20 → 22}/include/sha512intrin.h +0 -0
  278. /package/lib/clang/{20 → 22}/include/sm3intrin.h +0 -0
  279. /package/lib/clang/{20 → 22}/include/sm4intrin.h +0 -0
  280. /package/lib/clang/{20 → 22}/include/stdalign.h +0 -0
  281. /package/lib/clang/{20 → 22}/include/stdarg.h +0 -0
  282. /package/lib/clang/{20 → 22}/include/stdatomic.h +0 -0
  283. /package/lib/clang/{20 → 22}/include/stdbool.h +0 -0
  284. /package/lib/clang/{20 → 22}/include/stdckdint.h +0 -0
  285. /package/lib/clang/{20 → 22}/include/stddef.h +0 -0
  286. /package/lib/clang/{20 → 22}/include/stdnoreturn.h +0 -0
  287. /package/lib/clang/{20 → 22}/include/tbmintrin.h +0 -0
  288. /package/lib/clang/{20 → 22}/include/tgmath.h +0 -0
  289. /package/lib/clang/{20 → 22}/include/tsxldtrkintrin.h +0 -0
  290. /package/lib/clang/{20 → 22}/include/uintrintrin.h +0 -0
  291. /package/lib/clang/{20 → 22}/include/unwind.h +0 -0
  292. /package/lib/clang/{20 → 22}/include/usermsrintrin.h +0 -0
  293. /package/lib/clang/{20 → 22}/include/vadefs.h +0 -0
  294. /package/lib/clang/{20 → 22}/include/varargs.h +0 -0
  295. /package/lib/clang/{20 → 22}/include/velintrin.h +0 -0
  296. /package/lib/clang/{20 → 22}/include/velintrin_approx.h +0 -0
  297. /package/lib/clang/{20 → 22}/include/velintrin_gen.h +0 -0
  298. /package/lib/clang/{20 → 22}/include/vpclmulqdqintrin.h +0 -0
  299. /package/lib/clang/{20 → 22}/include/waitpkgintrin.h +0 -0
  300. /package/lib/clang/{20 → 22}/include/wasm_simd128.h +0 -0
  301. /package/lib/clang/{20 → 22}/include/wbnoinvdintrin.h +0 -0
  302. /package/lib/clang/{20 → 22}/include/wmmintrin.h +0 -0
  303. /package/lib/clang/{20 → 22}/include/xsavecintrin.h +0 -0
  304. /package/lib/clang/{20 → 22}/include/xsaveintrin.h +0 -0
  305. /package/lib/clang/{20 → 22}/include/xsaveoptintrin.h +0 -0
  306. /package/lib/clang/{20 → 22}/include/xsavesintrin.h +0 -0
  307. /package/lib/clang/{20 → 22}/include/xtestintrin.h +0 -0
  308. /package/lib/clang/{20 → 22}/include/yvals_core.h +0 -0
  309. /package/lib/clang/{20 → 22}/include/zos_wrappers/builtins.h +0 -0
@@ -0,0 +1,520 @@
1
+ //===--- hlsl_compat_overloads.h - Extra HLSL overloads 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_COMPAT_OVERLOADS_H_
10
+ #define _HLSL_COMPAT_OVERLOADS_H_
11
+
12
+ namespace hlsl {
13
+
14
+ // Note: Functions in this file are sorted alphabetically, then grouped by base
15
+ // element type, and the element types are sorted by size, then signed integer,
16
+ // unsigned integer and floating point. Keeping this ordering consistent will
17
+ // help keep this file manageable as it grows.
18
+
19
+ #define _DXC_DEPRECATED_64BIT_FN(fn) \
20
+ [[deprecated("In 202x 64 bit API lowering for " #fn " is deprecated. " \
21
+ "Explicitly cast parameters to 32 or 16 bit types.")]]
22
+
23
+ #define _DXC_DEPRECATED_INT_FN(fn) \
24
+ [[deprecated("In 202x int lowering for " #fn " is deprecated. " \
25
+ "Explicitly cast parameters to float types.")]]
26
+
27
+ #define _DXC_DEPRECATED_VEC_SCALAR_FN(fn) \
28
+ [[deprecated("In 202x mismatched vector/scalar lowering for " #fn " is " \
29
+ "deprecated. Explicitly cast parameters.")]]
30
+
31
+ #define _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(fn) \
32
+ _DXC_DEPRECATED_64BIT_FN(fn) \
33
+ constexpr float fn(double V) { return fn((float)V); } \
34
+ _DXC_DEPRECATED_64BIT_FN(fn) \
35
+ constexpr float2 fn(double2 V) { return fn((float2)V); } \
36
+ _DXC_DEPRECATED_64BIT_FN(fn) \
37
+ constexpr float3 fn(double3 V) { return fn((float3)V); } \
38
+ _DXC_DEPRECATED_64BIT_FN(fn) \
39
+ constexpr float4 fn(double4 V) { return fn((float4)V); }
40
+
41
+ #define _DXC_COMPAT_BINARY_DOUBLE_OVERLOADS(fn) \
42
+ _DXC_DEPRECATED_64BIT_FN(fn) \
43
+ constexpr float fn(double V1, double V2) { \
44
+ return fn((float)V1, (float)V2); \
45
+ } \
46
+ _DXC_DEPRECATED_64BIT_FN(fn) \
47
+ constexpr float2 fn(double2 V1, double2 V2) { \
48
+ return fn((float2)V1, (float2)V2); \
49
+ } \
50
+ _DXC_DEPRECATED_64BIT_FN(fn) \
51
+ constexpr float3 fn(double3 V1, double3 V2) { \
52
+ return fn((float3)V1, (float3)V2); \
53
+ } \
54
+ _DXC_DEPRECATED_64BIT_FN(fn) \
55
+ constexpr float4 fn(double4 V1, double4 V2) { \
56
+ return fn((float4)V1, (float4)V2); \
57
+ }
58
+
59
+ #define _DXC_COMPAT_TERNARY_DOUBLE_OVERLOADS(fn) \
60
+ _DXC_DEPRECATED_64BIT_FN(fn) \
61
+ constexpr float fn(double V1, double V2, double V3) { \
62
+ return fn((float)V1, (float)V2, (float)V3); \
63
+ } \
64
+ _DXC_DEPRECATED_64BIT_FN(fn) \
65
+ constexpr float2 fn(double2 V1, double2 V2, double2 V3) { \
66
+ return fn((float2)V1, (float2)V2, (float2)V3); \
67
+ } \
68
+ _DXC_DEPRECATED_64BIT_FN(fn) \
69
+ constexpr float3 fn(double3 V1, double3 V2, double3 V3) { \
70
+ return fn((float3)V1, (float3)V2, (float3)V3); \
71
+ } \
72
+ _DXC_DEPRECATED_64BIT_FN(fn) \
73
+ constexpr float4 fn(double4 V1, double4 V2, double4 V3) { \
74
+ return fn((float4)V1, (float4)V2, (float4)V3); \
75
+ }
76
+
77
+ #define _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(fn) \
78
+ _DXC_DEPRECATED_INT_FN(fn) \
79
+ constexpr float fn(int V) { return fn((float)V); } \
80
+ _DXC_DEPRECATED_INT_FN(fn) \
81
+ constexpr float2 fn(int2 V) { return fn((float2)V); } \
82
+ _DXC_DEPRECATED_INT_FN(fn) \
83
+ constexpr float3 fn(int3 V) { return fn((float3)V); } \
84
+ _DXC_DEPRECATED_INT_FN(fn) \
85
+ constexpr float4 fn(int4 V) { return fn((float4)V); } \
86
+ _DXC_DEPRECATED_INT_FN(fn) \
87
+ constexpr float fn(uint V) { return fn((float)V); } \
88
+ _DXC_DEPRECATED_INT_FN(fn) \
89
+ constexpr float2 fn(uint2 V) { return fn((float2)V); } \
90
+ _DXC_DEPRECATED_INT_FN(fn) \
91
+ constexpr float3 fn(uint3 V) { return fn((float3)V); } \
92
+ _DXC_DEPRECATED_INT_FN(fn) \
93
+ constexpr float4 fn(uint4 V) { return fn((float4)V); } \
94
+ _DXC_DEPRECATED_INT_FN(fn) \
95
+ constexpr float fn(int64_t V) { return fn((float)V); } \
96
+ _DXC_DEPRECATED_INT_FN(fn) \
97
+ constexpr float2 fn(int64_t2 V) { return fn((float2)V); } \
98
+ _DXC_DEPRECATED_INT_FN(fn) \
99
+ constexpr float3 fn(int64_t3 V) { return fn((float3)V); } \
100
+ _DXC_DEPRECATED_INT_FN(fn) \
101
+ constexpr float4 fn(int64_t4 V) { return fn((float4)V); } \
102
+ _DXC_DEPRECATED_INT_FN(fn) \
103
+ constexpr float fn(uint64_t V) { return fn((float)V); } \
104
+ _DXC_DEPRECATED_INT_FN(fn) \
105
+ constexpr float2 fn(uint64_t2 V) { return fn((float2)V); } \
106
+ _DXC_DEPRECATED_INT_FN(fn) \
107
+ constexpr float3 fn(uint64_t3 V) { return fn((float3)V); } \
108
+ _DXC_DEPRECATED_INT_FN(fn) \
109
+ constexpr float4 fn(uint64_t4 V) { return fn((float4)V); }
110
+
111
+ #define _DXC_COMPAT_BINARY_INTEGER_OVERLOADS(fn) \
112
+ _DXC_DEPRECATED_INT_FN(fn) \
113
+ constexpr float fn(int V1, int V2) { return fn((float)V1, (float)V2); } \
114
+ _DXC_DEPRECATED_INT_FN(fn) \
115
+ constexpr float2 fn(int2 V1, int2 V2) { return fn((float2)V1, (float2)V2); } \
116
+ _DXC_DEPRECATED_INT_FN(fn) \
117
+ constexpr float3 fn(int3 V1, int3 V2) { return fn((float3)V1, (float3)V2); } \
118
+ _DXC_DEPRECATED_INT_FN(fn) \
119
+ constexpr float4 fn(int4 V1, int4 V2) { return fn((float4)V1, (float4)V2); } \
120
+ _DXC_DEPRECATED_INT_FN(fn) \
121
+ constexpr float fn(uint V1, uint V2) { return fn((float)V1, (float)V2); } \
122
+ _DXC_DEPRECATED_INT_FN(fn) \
123
+ constexpr float2 fn(uint2 V1, uint2 V2) { \
124
+ return fn((float2)V1, (float2)V2); \
125
+ } \
126
+ _DXC_DEPRECATED_INT_FN(fn) \
127
+ constexpr float3 fn(uint3 V1, uint3 V2) { \
128
+ return fn((float3)V1, (float3)V2); \
129
+ } \
130
+ _DXC_DEPRECATED_INT_FN(fn) \
131
+ constexpr float4 fn(uint4 V1, uint4 V2) { \
132
+ return fn((float4)V1, (float4)V2); \
133
+ } \
134
+ _DXC_DEPRECATED_INT_FN(fn) \
135
+ constexpr float fn(int64_t V1, int64_t V2) { \
136
+ return fn((float)V1, (float)V2); \
137
+ } \
138
+ _DXC_DEPRECATED_INT_FN(fn) \
139
+ constexpr float2 fn(int64_t2 V1, int64_t2 V2) { \
140
+ return fn((float2)V1, (float2)V2); \
141
+ } \
142
+ _DXC_DEPRECATED_INT_FN(fn) \
143
+ constexpr float3 fn(int64_t3 V1, int64_t3 V2) { \
144
+ return fn((float3)V1, (float3)V2); \
145
+ } \
146
+ _DXC_DEPRECATED_INT_FN(fn) \
147
+ constexpr float4 fn(int64_t4 V1, int64_t4 V2) { \
148
+ return fn((float4)V1, (float4)V2); \
149
+ } \
150
+ _DXC_DEPRECATED_INT_FN(fn) \
151
+ constexpr float fn(uint64_t V1, uint64_t V2) { \
152
+ return fn((float)V1, (float)V2); \
153
+ } \
154
+ _DXC_DEPRECATED_INT_FN(fn) \
155
+ constexpr float2 fn(uint64_t2 V1, uint64_t2 V2) { \
156
+ return fn((float2)V1, (float2)V2); \
157
+ } \
158
+ _DXC_DEPRECATED_INT_FN(fn) \
159
+ constexpr float3 fn(uint64_t3 V1, uint64_t3 V2) { \
160
+ return fn((float3)V1, (float3)V2); \
161
+ } \
162
+ _DXC_DEPRECATED_INT_FN(fn) \
163
+ constexpr float4 fn(uint64_t4 V1, uint64_t4 V2) { \
164
+ return fn((float4)V1, (float4)V2); \
165
+ }
166
+
167
+ #define _DXC_COMPAT_TERNARY_INTEGER_OVERLOADS(fn) \
168
+ _DXC_DEPRECATED_INT_FN(fn) \
169
+ constexpr float fn(int V1, int V2, int V3) { \
170
+ return fn((float)V1, (float)V2, (float)V3); \
171
+ } \
172
+ _DXC_DEPRECATED_INT_FN(fn) \
173
+ constexpr float2 fn(int2 V1, int2 V2, int2 V3) { \
174
+ return fn((float2)V1, (float2)V2, (float2)V3); \
175
+ } \
176
+ _DXC_DEPRECATED_INT_FN(fn) \
177
+ constexpr float3 fn(int3 V1, int3 V2, int3 V3) { \
178
+ return fn((float3)V1, (float3)V2, (float3)V3); \
179
+ } \
180
+ _DXC_DEPRECATED_INT_FN(fn) \
181
+ constexpr float4 fn(int4 V1, int4 V2, int4 V3) { \
182
+ return fn((float4)V1, (float4)V2, (float4)V3); \
183
+ } \
184
+ _DXC_DEPRECATED_INT_FN(fn) \
185
+ constexpr float fn(uint V1, uint V2, uint V3) { \
186
+ return fn((float)V1, (float)V2, (float)V3); \
187
+ } \
188
+ _DXC_DEPRECATED_INT_FN(fn) \
189
+ constexpr float2 fn(uint2 V1, uint2 V2, uint2 V3) { \
190
+ return fn((float2)V1, (float2)V2, (float2)V3); \
191
+ } \
192
+ _DXC_DEPRECATED_INT_FN(fn) \
193
+ constexpr float3 fn(uint3 V1, uint3 V2, uint3 V3) { \
194
+ return fn((float3)V1, (float3)V2, (float3)V3); \
195
+ } \
196
+ _DXC_DEPRECATED_INT_FN(fn) \
197
+ constexpr float4 fn(uint4 V1, uint4 V2, uint4 V3) { \
198
+ return fn((float4)V1, (float4)V2, (float4)V3); \
199
+ } \
200
+ _DXC_DEPRECATED_INT_FN(fn) \
201
+ constexpr float fn(int64_t V1, int64_t V2, int64_t V3) { \
202
+ return fn((float)V1, (float)V2, (float)V3); \
203
+ } \
204
+ _DXC_DEPRECATED_INT_FN(fn) \
205
+ constexpr float2 fn(int64_t2 V1, int64_t2 V2, int64_t2 V3) { \
206
+ return fn((float2)V1, (float2)V2, (float2)V3); \
207
+ } \
208
+ _DXC_DEPRECATED_INT_FN(fn) \
209
+ constexpr float3 fn(int64_t3 V1, int64_t3 V2, int64_t3 V3) { \
210
+ return fn((float3)V1, (float3)V2, (float3)V3); \
211
+ } \
212
+ _DXC_DEPRECATED_INT_FN(fn) \
213
+ constexpr float4 fn(int64_t4 V1, int64_t4 V2, int64_t4 V3) { \
214
+ return fn((float4)V1, (float4)V2, (float4)V3); \
215
+ } \
216
+ _DXC_DEPRECATED_INT_FN(fn) \
217
+ constexpr float fn(uint64_t V1, uint64_t V2, uint64_t V3) { \
218
+ return fn((float)V1, (float)V2, (float)V3); \
219
+ } \
220
+ _DXC_DEPRECATED_INT_FN(fn) \
221
+ constexpr float2 fn(uint64_t2 V1, uint64_t2 V2, uint64_t2 V3) { \
222
+ return fn((float2)V1, (float2)V2, (float2)V3); \
223
+ } \
224
+ _DXC_DEPRECATED_INT_FN(fn) \
225
+ constexpr float3 fn(uint64_t3 V1, uint64_t3 V2, uint64_t3 V3) { \
226
+ return fn((float3)V1, (float3)V2, (float3)V3); \
227
+ } \
228
+ _DXC_DEPRECATED_INT_FN(fn) \
229
+ constexpr float4 fn(uint64_t4 V1, uint64_t4 V2, uint64_t4 V3) { \
230
+ return fn((float4)V1, (float4)V2, (float4)V3); \
231
+ }
232
+
233
+ //===----------------------------------------------------------------------===//
234
+ // acos builtins overloads
235
+ //===----------------------------------------------------------------------===//
236
+
237
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(acos)
238
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(acos)
239
+
240
+ //===----------------------------------------------------------------------===//
241
+ // asin builtins overloads
242
+ //===----------------------------------------------------------------------===//
243
+
244
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(asin)
245
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(asin)
246
+
247
+ //===----------------------------------------------------------------------===//
248
+ // atan builtins overloads
249
+ //===----------------------------------------------------------------------===//
250
+
251
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(atan)
252
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(atan)
253
+
254
+ //===----------------------------------------------------------------------===//
255
+ // atan2 builtins overloads
256
+ //===----------------------------------------------------------------------===//
257
+
258
+ _DXC_COMPAT_BINARY_DOUBLE_OVERLOADS(atan2)
259
+ _DXC_COMPAT_BINARY_INTEGER_OVERLOADS(atan2)
260
+
261
+ //===----------------------------------------------------------------------===//
262
+ // ceil builtins overloads
263
+ //===----------------------------------------------------------------------===//
264
+
265
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(ceil)
266
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(ceil)
267
+
268
+ //===----------------------------------------------------------------------===//
269
+ // clamp builtins overloads
270
+ //===----------------------------------------------------------------------===//
271
+
272
+ template <typename T, uint N>
273
+ _DXC_DEPRECATED_VEC_SCALAR_FN(clamp)
274
+ constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>> clamp(
275
+ vector<T, N> p0, vector<T, N> p1, T p2) {
276
+ return clamp(p0, p1, (vector<T, N>)p2);
277
+ }
278
+
279
+ template <typename T, uint N>
280
+ _DXC_DEPRECATED_VEC_SCALAR_FN(clamp)
281
+ constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>> clamp(
282
+ vector<T, N> p0, T p1, vector<T, N> p2) {
283
+ return clamp(p0, (vector<T, N>)p1, p2);
284
+ }
285
+
286
+ template <typename T, uint N>
287
+ _DXC_DEPRECATED_VEC_SCALAR_FN(clamp)
288
+ constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>> clamp(
289
+ vector<T, N> p0, T p1, T p2) {
290
+ return clamp(p0, (vector<T, N>)p1, (vector<T, N>)p2);
291
+ }
292
+
293
+ //===----------------------------------------------------------------------===//
294
+ // cos builtins overloads
295
+ //===----------------------------------------------------------------------===//
296
+
297
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(cos)
298
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(cos)
299
+
300
+ //===----------------------------------------------------------------------===//
301
+ // cosh builtins overloads
302
+ //===----------------------------------------------------------------------===//
303
+
304
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(cosh)
305
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(cosh)
306
+
307
+ //===----------------------------------------------------------------------===//
308
+ // degrees builtins overloads
309
+ //===----------------------------------------------------------------------===//
310
+
311
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(degrees)
312
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(degrees)
313
+
314
+ //===----------------------------------------------------------------------===//
315
+ // exp builtins overloads
316
+ //===----------------------------------------------------------------------===//
317
+
318
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(exp)
319
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(exp)
320
+
321
+ //===----------------------------------------------------------------------===//
322
+ // exp2 builtins overloads
323
+ //===----------------------------------------------------------------------===//
324
+
325
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(exp2)
326
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(exp2)
327
+
328
+ //===----------------------------------------------------------------------===//
329
+ // floor builtins overloads
330
+ //===----------------------------------------------------------------------===//
331
+
332
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(floor)
333
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(floor)
334
+
335
+ //===----------------------------------------------------------------------===//
336
+ // frac builtins overloads
337
+ //===----------------------------------------------------------------------===//
338
+
339
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(frac)
340
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(frac)
341
+
342
+ //===----------------------------------------------------------------------===//
343
+ // isinf builtins overloads
344
+ //===----------------------------------------------------------------------===//
345
+
346
+ _DXC_DEPRECATED_64BIT_FN(fn)
347
+ constexpr bool isinf(double V) { return isinf((float)V); }
348
+ _DXC_DEPRECATED_64BIT_FN(fn)
349
+ constexpr bool2 isinf(double2 V) { return isinf((float2)V); }
350
+ _DXC_DEPRECATED_64BIT_FN(fn)
351
+ constexpr bool3 isinf(double3 V) { return isinf((float3)V); }
352
+ _DXC_DEPRECATED_64BIT_FN(fn)
353
+ constexpr bool4 isinf(double4 V) { return isinf((float4)V); }
354
+
355
+ //===----------------------------------------------------------------------===//
356
+ // isnan builtins overloads
357
+ //===----------------------------------------------------------------------===//
358
+
359
+ constexpr bool isnan(double V) { return isnan((float)V); }
360
+ constexpr bool2 isnan(double2 V) { return isnan((float2)V); }
361
+ constexpr bool3 isnan(double3 V) { return isnan((float3)V); }
362
+ constexpr bool4 isnan(double4 V) { return isnan((float4)V); }
363
+
364
+ //===----------------------------------------------------------------------===//
365
+ // lerp builtins overloads
366
+ //===----------------------------------------------------------------------===//
367
+
368
+ template <typename T, uint N>
369
+ _DXC_DEPRECATED_VEC_SCALAR_FN(lerp)
370
+ constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>> lerp(
371
+ vector<T, N> x, vector<T, N> y, T s) {
372
+ return lerp(x, y, (vector<T, N>)s);
373
+ }
374
+
375
+ _DXC_COMPAT_TERNARY_DOUBLE_OVERLOADS(lerp)
376
+ _DXC_COMPAT_TERNARY_INTEGER_OVERLOADS(lerp)
377
+
378
+ //===----------------------------------------------------------------------===//
379
+ // log builtins overloads
380
+ //===----------------------------------------------------------------------===//
381
+
382
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(log)
383
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(log)
384
+
385
+ //===----------------------------------------------------------------------===//
386
+ // log10 builtins overloads
387
+ //===----------------------------------------------------------------------===//
388
+
389
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(log10)
390
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(log10)
391
+
392
+ //===----------------------------------------------------------------------===//
393
+ // log2 builtins overloads
394
+ //===----------------------------------------------------------------------===//
395
+
396
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(log2)
397
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(log2)
398
+
399
+ //===----------------------------------------------------------------------===//
400
+ // max builtins overloads
401
+ //===----------------------------------------------------------------------===//
402
+
403
+ template <typename T, uint N>
404
+ _DXC_DEPRECATED_VEC_SCALAR_FN(max)
405
+ constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>> max(
406
+ vector<T, N> p0, T p1) {
407
+ return max(p0, (vector<T, N>)p1);
408
+ }
409
+
410
+ template <typename T, uint N>
411
+ _DXC_DEPRECATED_VEC_SCALAR_FN(max)
412
+ constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>> max(
413
+ T p0, vector<T, N> p1) {
414
+ return max((vector<T, N>)p0, p1);
415
+ }
416
+
417
+ //===----------------------------------------------------------------------===//
418
+ // min builtins overloads
419
+ //===----------------------------------------------------------------------===//
420
+
421
+ template <typename T, uint N>
422
+ _DXC_DEPRECATED_VEC_SCALAR_FN(min)
423
+ constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>> min(
424
+ vector<T, N> p0, T p1) {
425
+ return min(p0, (vector<T, N>)p1);
426
+ }
427
+
428
+ template <typename T, uint N>
429
+ _DXC_DEPRECATED_VEC_SCALAR_FN(min)
430
+ constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>> min(
431
+ T p0, vector<T, N> p1) {
432
+ return min((vector<T, N>)p0, p1);
433
+ }
434
+
435
+ //===----------------------------------------------------------------------===//
436
+ // normalize builtins overloads
437
+ //===----------------------------------------------------------------------===//
438
+
439
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(normalize)
440
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(normalize)
441
+
442
+ //===----------------------------------------------------------------------===//
443
+ // pow builtins overloads
444
+ //===----------------------------------------------------------------------===//
445
+
446
+ _DXC_COMPAT_BINARY_DOUBLE_OVERLOADS(pow)
447
+ _DXC_COMPAT_BINARY_INTEGER_OVERLOADS(pow)
448
+
449
+ //===----------------------------------------------------------------------===//
450
+ // rsqrt builtins overloads
451
+ //===----------------------------------------------------------------------===//
452
+
453
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(rsqrt)
454
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(rsqrt)
455
+
456
+ //===----------------------------------------------------------------------===//
457
+ // round builtins overloads
458
+ //===----------------------------------------------------------------------===//
459
+
460
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(round)
461
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(round)
462
+
463
+ //===----------------------------------------------------------------------===//
464
+ // sin builtins overloads
465
+ //===----------------------------------------------------------------------===//
466
+
467
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(sin)
468
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(sin)
469
+
470
+ //===----------------------------------------------------------------------===//
471
+ // sinh builtins overloads
472
+ //===----------------------------------------------------------------------===//
473
+
474
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(sinh)
475
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(sinh)
476
+
477
+ //===----------------------------------------------------------------------===//
478
+ // sqrt builtins overloads
479
+ //===----------------------------------------------------------------------===//
480
+
481
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(sqrt)
482
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(sqrt)
483
+
484
+ //===----------------------------------------------------------------------===//
485
+ // step builtins overloads
486
+ //===----------------------------------------------------------------------===//
487
+
488
+ _DXC_COMPAT_BINARY_DOUBLE_OVERLOADS(step)
489
+ _DXC_COMPAT_BINARY_INTEGER_OVERLOADS(step)
490
+
491
+ //===----------------------------------------------------------------------===//
492
+ // tan builtins overloads
493
+ //===----------------------------------------------------------------------===//
494
+
495
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(tan)
496
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(tan)
497
+
498
+ //===----------------------------------------------------------------------===//
499
+ // tanh builtins overloads
500
+ //===----------------------------------------------------------------------===//
501
+
502
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(tanh)
503
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(tanh)
504
+
505
+ //===----------------------------------------------------------------------===//
506
+ // trunc builtins overloads
507
+ //===----------------------------------------------------------------------===//
508
+
509
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(trunc)
510
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(trunc)
511
+
512
+ //===----------------------------------------------------------------------===//
513
+ // radians builtins overloads
514
+ //===----------------------------------------------------------------------===//
515
+
516
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(radians)
517
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(radians)
518
+
519
+ } // namespace hlsl
520
+ #endif // _HLSL_COMPAT_OVERLOADS_H_
@@ -0,0 +1,54 @@
1
+ //===----- hlsl_detail.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_DETAILS_H_
10
+ #define _HLSL_HLSL_DETAILS_H_
11
+
12
+ namespace hlsl {
13
+
14
+ namespace __detail {
15
+
16
+ template <typename T, typename U> struct is_same {
17
+ static const bool value = false;
18
+ };
19
+
20
+ template <typename T> struct is_same<T, T> {
21
+ static const bool value = true;
22
+ };
23
+
24
+ template <bool B, typename T> struct enable_if {};
25
+
26
+ template <typename T> struct enable_if<true, T> {
27
+ using Type = T;
28
+ };
29
+
30
+ template <bool B, class T = void>
31
+ using enable_if_t = typename enable_if<B, T>::Type;
32
+
33
+ template <typename U, typename T, int N>
34
+ constexpr enable_if_t<sizeof(U) == sizeof(T), vector<U, N>>
35
+ bit_cast(vector<T, N> V) {
36
+ return __builtin_bit_cast(vector<U, N>, V);
37
+ }
38
+
39
+ template <typename U, typename T>
40
+ constexpr enable_if_t<sizeof(U) == sizeof(T), U> bit_cast(T F) {
41
+ return __builtin_bit_cast(U, F);
42
+ }
43
+
44
+ template <typename T> struct is_arithmetic {
45
+ static const bool Value = __is_arithmetic(T);
46
+ };
47
+
48
+ template <typename T, int N>
49
+ using HLSL_FIXED_VECTOR =
50
+ vector<__detail::enable_if_t<(N > 1 && N <= 4), T>, N>;
51
+
52
+ } // namespace __detail
53
+ } // namespace hlsl
54
+ #endif //_HLSL_HLSL_DETAILS_H_