@cpp-linter/clang-tidy-win32-x64 19.1.0 → 21.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/{19 → 21}/include/__clang_cuda_device_functions.h +14 -0
  4. package/lib/clang/{19 → 21}/include/__clang_cuda_intrinsics.h +295 -8
  5. package/lib/clang/{19 → 21}/include/__clang_cuda_math.h +5 -0
  6. package/lib/clang/{19 → 21}/include/__clang_cuda_runtime_wrapper.h +1 -0
  7. package/lib/clang/{19 → 21}/include/__clang_cuda_texture_intrinsics.h +437 -2
  8. package/lib/clang/{19 → 21}/include/__clang_hip_cmath.h +15 -9
  9. package/lib/clang/{19 → 21}/include/__clang_hip_libdevice_declares.h +12 -20
  10. package/lib/clang/{19 → 21}/include/__clang_hip_math.h +110 -29
  11. package/lib/clang/{19 → 21}/include/__clang_hip_runtime_wrapper.h +3 -0
  12. package/lib/clang/21/include/__clang_spirv_builtins.h +217 -0
  13. package/lib/clang/{19 → 21}/include/__stdarg_va_arg.h +2 -2
  14. package/lib/clang/{19 → 21}/include/adcintrin.h +5 -0
  15. package/lib/clang/{19 → 21}/include/adxintrin.h +5 -0
  16. package/lib/clang/{19 → 21}/include/altivec.h +90 -87
  17. package/lib/clang/21/include/amdgpuintrin.h +191 -0
  18. package/lib/clang/21/include/amxavx512intrin.h +382 -0
  19. package/lib/clang/21/include/amxbf16transposeintrin.h +94 -0
  20. package/lib/clang/{19 → 21}/include/amxcomplexintrin.h +4 -6
  21. package/lib/clang/21/include/amxcomplextransposeintrin.h +303 -0
  22. package/lib/clang/{19 → 21}/include/amxfp16intrin.h +35 -0
  23. package/lib/clang/21/include/amxfp16transposeintrin.h +94 -0
  24. package/lib/clang/21/include/amxfp8intrin.h +230 -0
  25. package/lib/clang/{19 → 21}/include/amxintrin.h +5 -35
  26. package/lib/clang/21/include/amxmovrsintrin.h +48 -0
  27. package/lib/clang/21/include/amxmovrstransposeintrin.h +200 -0
  28. package/lib/clang/21/include/amxtf32intrin.h +108 -0
  29. package/lib/clang/21/include/amxtf32transposeintrin.h +105 -0
  30. package/lib/clang/21/include/amxtransposeintrin.h +248 -0
  31. package/lib/clang/{19/include/hlsl.h → 21/include/andes_vector.h} +7 -6
  32. package/lib/clang/{19 → 21}/include/arm_acle.h +29 -62
  33. package/lib/clang/{19 → 21}/include/arm_fp16.h +89 -89
  34. package/lib/clang/{19 → 21}/include/arm_neon.h +24549 -20140
  35. package/lib/clang/{19 → 21}/include/arm_sme.h +1016 -94
  36. package/lib/clang/{19 → 21}/include/arm_sve.h +4633 -3272
  37. package/lib/clang/{19 → 21}/include/arm_vector_types.h +87 -0
  38. package/lib/clang/21/include/avx10_2_512bf16intrin.h +561 -0
  39. package/lib/clang/21/include/avx10_2_512convertintrin.h +322 -0
  40. package/lib/clang/21/include/avx10_2_512minmaxintrin.h +127 -0
  41. package/lib/clang/21/include/avx10_2_512niintrin.h +314 -0
  42. package/lib/clang/21/include/avx10_2_512satcvtdsintrin.h +307 -0
  43. package/lib/clang/21/include/avx10_2_512satcvtintrin.h +301 -0
  44. package/lib/clang/21/include/avx10_2bf16intrin.h +1085 -0
  45. package/lib/clang/21/include/avx10_2convertintrin.h +3257 -0
  46. package/lib/clang/21/include/avx10_2copyintrin.h +66 -0
  47. package/lib/clang/21/include/avx10_2minmaxintrin.h +232 -0
  48. package/lib/clang/21/include/avx10_2niintrin.h +409 -0
  49. package/lib/clang/21/include/avx10_2satcvtdsintrin.h +376 -0
  50. package/lib/clang/21/include/avx10_2satcvtintrin.h +312 -0
  51. package/lib/clang/{19 → 21}/include/avx2intrin.h +9 -0
  52. package/lib/clang/{19 → 21}/include/avx512bitalgintrin.h +2 -2
  53. package/lib/clang/{19 → 21}/include/avx512fintrin.h +22 -14
  54. package/lib/clang/{19 → 21}/include/avx512fp16intrin.h +2 -1
  55. package/lib/clang/{19 → 21}/include/avx512vlbitalgintrin.h +4 -4
  56. package/lib/clang/{19 → 21}/include/avx512vpopcntdqintrin.h +12 -4
  57. package/lib/clang/{19 → 21}/include/avx512vpopcntdqvlintrin.h +16 -8
  58. package/lib/clang/{19 → 21}/include/avxintrin.h +30 -16
  59. package/lib/clang/{19 → 21}/include/avxvnniint16intrin.h +36 -77
  60. package/lib/clang/{19 → 21}/include/avxvnniint8intrin.h +36 -77
  61. package/lib/clang/{19 → 21}/include/bmi2intrin.h +15 -17
  62. package/lib/clang/{19 → 21}/include/bmiintrin.h +31 -41
  63. package/lib/clang/{19 → 21}/include/cmpccxaddintrin.h +1 -1
  64. package/lib/clang/{19 → 21}/include/cpuid.h +36 -33
  65. package/lib/clang/21/include/cuda_wrappers/bits/c++config.h +61 -0
  66. package/lib/clang/21/include/cuda_wrappers/cmath +44 -0
  67. package/lib/clang/{19 → 21}/include/cuda_wrappers/new +2 -0
  68. package/lib/clang/{19 → 21}/include/emmintrin.h +141 -107
  69. package/lib/clang/{19 → 21}/include/float.h +2 -11
  70. package/lib/clang/{19 → 21}/include/gfniintrin.h +32 -10
  71. package/lib/clang/21/include/gpuintrin.h +328 -0
  72. package/lib/clang/{19 → 21}/include/hexagon_types.h +8 -4
  73. package/lib/clang/{19/include/hlsl/hlsl_intrinsics.h → 21/include/hlsl/hlsl_alias_intrinsics.h} +1214 -100
  74. package/lib/clang/{19 → 21}/include/hlsl/hlsl_basic_types.h +47 -1
  75. package/lib/clang/21/include/hlsl/hlsl_compat_overloads.h +427 -0
  76. package/lib/clang/21/include/hlsl/hlsl_detail.h +54 -0
  77. package/lib/clang/21/include/hlsl/hlsl_intrinsic_helpers.h +144 -0
  78. package/lib/clang/21/include/hlsl/hlsl_intrinsics.h +526 -0
  79. package/lib/clang/21/include/hlsl/hlsl_spirv.h +28 -0
  80. package/lib/clang/21/include/hlsl.h +38 -0
  81. package/lib/clang/{19 → 21}/include/hvx_hexagon_protos.h +427 -0
  82. package/lib/clang/{19 → 21}/include/immintrin.h +45 -185
  83. package/lib/clang/{19 → 21}/include/intrin.h +41 -14
  84. package/lib/clang/{19 → 21}/include/intrin0.h +10 -1
  85. package/lib/clang/{19 → 21}/include/keylockerintrin.h +0 -9
  86. package/lib/clang/{19 → 21}/include/larchintrin.h +22 -8
  87. package/lib/clang/{19 → 21}/include/lasxintrin.h +27 -25
  88. package/lib/clang/{19 → 21}/include/limits.h +7 -4
  89. package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/ctype.h +38 -0
  90. package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/stdlib.h +9 -1
  91. package/lib/clang/21/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
  92. package/lib/clang/21/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
  93. package/lib/clang/21/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
  94. package/lib/clang/{19 → 21}/include/lsxintrin.h +27 -25
  95. package/lib/clang/{19 → 21}/include/lzcntintrin.h +13 -8
  96. package/lib/clang/{19 → 21}/include/mmintrin.h +209 -155
  97. package/lib/clang/{19 → 21}/include/module.modulemap +15 -4
  98. package/lib/clang/21/include/movrs_avx10_2_512intrin.h +98 -0
  99. package/lib/clang/21/include/movrs_avx10_2intrin.h +174 -0
  100. package/lib/clang/21/include/movrsintrin.h +59 -0
  101. package/lib/clang/21/include/nvptxintrin.h +219 -0
  102. package/lib/clang/{19 → 21}/include/opencl-c-base.h +23 -1
  103. package/lib/clang/{19 → 21}/include/opencl-c.h +298 -39
  104. package/lib/clang/{19 → 21}/include/openmp_wrappers/__clang_openmp_device_functions.h +4 -5
  105. package/lib/clang/{19 → 21}/include/openmp_wrappers/complex_cmath.h +7 -2
  106. package/lib/clang/{19 → 21}/include/pmmintrin.h +16 -3
  107. package/lib/clang/{19 → 21}/include/popcntintrin.h +7 -7
  108. package/lib/clang/{19 → 21}/include/prfchwintrin.h +10 -13
  109. package/lib/clang/{19 → 21}/include/ptrauth.h +65 -2
  110. package/lib/clang/21/include/riscv_corev_alu.h +128 -0
  111. package/lib/clang/{19 → 21}/include/riscv_vector.h +0 -5
  112. package/lib/clang/{19 → 21}/include/shaintrin.h +3 -2
  113. package/lib/clang/21/include/sm4evexintrin.h +32 -0
  114. package/lib/clang/{19 → 21}/include/smmintrin.h +6 -0
  115. package/lib/clang/{19 → 21}/include/stdalign.h +0 -5
  116. package/lib/clang/21/include/stdcountof.h +15 -0
  117. package/lib/clang/{19 → 21}/include/stdint.h +18 -129
  118. package/lib/clang/{19 → 21}/include/tbmintrin.h +25 -37
  119. package/lib/clang/{19 → 21}/include/tmmintrin.h +64 -38
  120. package/lib/clang/{19 → 21}/include/vecintrin.h +1784 -61
  121. package/lib/clang/{19 → 21}/include/wasm_simd128.h +167 -21
  122. package/lib/clang/{19 → 21}/include/x86gprintrin.h +0 -14
  123. package/lib/clang/{19 → 21}/include/x86intrin.h +0 -18
  124. package/lib/clang/{19 → 21}/include/xmmintrin.h +173 -179
  125. package/package.json +6 -6
  126. package/lib/clang/19/include/cuda_wrappers/cmath +0 -90
  127. /package/lib/clang/{19 → 21}/include/__clang_cuda_builtin_vars.h +0 -0
  128. /package/lib/clang/{19 → 21}/include/__clang_cuda_cmath.h +0 -0
  129. /package/lib/clang/{19 → 21}/include/__clang_cuda_complex_builtins.h +0 -0
  130. /package/lib/clang/{19 → 21}/include/__clang_cuda_libdevice_declares.h +0 -0
  131. /package/lib/clang/{19 → 21}/include/__clang_cuda_math_forward_declares.h +0 -0
  132. /package/lib/clang/{19 → 21}/include/__clang_hip_stdlib.h +0 -0
  133. /package/lib/clang/{19 → 21}/include/__stdarg___gnuc_va_list.h +0 -0
  134. /package/lib/clang/{19 → 21}/include/__stdarg___va_copy.h +0 -0
  135. /package/lib/clang/{19 → 21}/include/__stdarg_header_macro.h +0 -0
  136. /package/lib/clang/{19 → 21}/include/__stdarg_va_copy.h +0 -0
  137. /package/lib/clang/{19 → 21}/include/__stdarg_va_list.h +0 -0
  138. /package/lib/clang/{19 → 21}/include/__stddef_header_macro.h +0 -0
  139. /package/lib/clang/{19 → 21}/include/__stddef_max_align_t.h +0 -0
  140. /package/lib/clang/{19 → 21}/include/__stddef_null.h +0 -0
  141. /package/lib/clang/{19 → 21}/include/__stddef_nullptr_t.h +0 -0
  142. /package/lib/clang/{19 → 21}/include/__stddef_offsetof.h +0 -0
  143. /package/lib/clang/{19 → 21}/include/__stddef_ptrdiff_t.h +0 -0
  144. /package/lib/clang/{19 → 21}/include/__stddef_rsize_t.h +0 -0
  145. /package/lib/clang/{19 → 21}/include/__stddef_size_t.h +0 -0
  146. /package/lib/clang/{19 → 21}/include/__stddef_unreachable.h +0 -0
  147. /package/lib/clang/{19 → 21}/include/__stddef_wchar_t.h +0 -0
  148. /package/lib/clang/{19 → 21}/include/__stddef_wint_t.h +0 -0
  149. /package/lib/clang/{19 → 21}/include/__wmmintrin_aes.h +0 -0
  150. /package/lib/clang/{19 → 21}/include/__wmmintrin_pclmul.h +0 -0
  151. /package/lib/clang/{19 → 21}/include/ammintrin.h +0 -0
  152. /package/lib/clang/{19 → 21}/include/arm64intr.h +0 -0
  153. /package/lib/clang/{19 → 21}/include/arm_bf16.h +0 -0
  154. /package/lib/clang/{19 → 21}/include/arm_cde.h +0 -0
  155. /package/lib/clang/{19 → 21}/include/arm_cmse.h +0 -0
  156. /package/lib/clang/{19 → 21}/include/arm_mve.h +0 -0
  157. /package/lib/clang/{19 → 21}/include/arm_neon_sve_bridge.h +0 -0
  158. /package/lib/clang/{19 → 21}/include/armintr.h +0 -0
  159. /package/lib/clang/{19 → 21}/include/avx512bf16intrin.h +0 -0
  160. /package/lib/clang/{19 → 21}/include/avx512bwintrin.h +0 -0
  161. /package/lib/clang/{19 → 21}/include/avx512cdintrin.h +0 -0
  162. /package/lib/clang/{19 → 21}/include/avx512dqintrin.h +0 -0
  163. /package/lib/clang/{19 → 21}/include/avx512ifmaintrin.h +0 -0
  164. /package/lib/clang/{19 → 21}/include/avx512ifmavlintrin.h +0 -0
  165. /package/lib/clang/{19 → 21}/include/avx512vbmi2intrin.h +0 -0
  166. /package/lib/clang/{19 → 21}/include/avx512vbmiintrin.h +0 -0
  167. /package/lib/clang/{19 → 21}/include/avx512vbmivlintrin.h +0 -0
  168. /package/lib/clang/{19 → 21}/include/avx512vlbf16intrin.h +0 -0
  169. /package/lib/clang/{19 → 21}/include/avx512vlbwintrin.h +0 -0
  170. /package/lib/clang/{19 → 21}/include/avx512vlcdintrin.h +0 -0
  171. /package/lib/clang/{19 → 21}/include/avx512vldqintrin.h +0 -0
  172. /package/lib/clang/{19 → 21}/include/avx512vlfp16intrin.h +0 -0
  173. /package/lib/clang/{19 → 21}/include/avx512vlintrin.h +0 -0
  174. /package/lib/clang/{19 → 21}/include/avx512vlvbmi2intrin.h +0 -0
  175. /package/lib/clang/{19 → 21}/include/avx512vlvnniintrin.h +0 -0
  176. /package/lib/clang/{19 → 21}/include/avx512vlvp2intersectintrin.h +0 -0
  177. /package/lib/clang/{19 → 21}/include/avx512vnniintrin.h +0 -0
  178. /package/lib/clang/{19 → 21}/include/avx512vp2intersectintrin.h +0 -0
  179. /package/lib/clang/{19 → 21}/include/avxifmaintrin.h +0 -0
  180. /package/lib/clang/{19 → 21}/include/avxneconvertintrin.h +0 -0
  181. /package/lib/clang/{19 → 21}/include/avxvnniintrin.h +0 -0
  182. /package/lib/clang/{19 → 21}/include/builtins.h +0 -0
  183. /package/lib/clang/{19 → 21}/include/cet.h +0 -0
  184. /package/lib/clang/{19 → 21}/include/cetintrin.h +0 -0
  185. /package/lib/clang/{19 → 21}/include/cldemoteintrin.h +0 -0
  186. /package/lib/clang/{19 → 21}/include/clflushoptintrin.h +0 -0
  187. /package/lib/clang/{19 → 21}/include/clwbintrin.h +0 -0
  188. /package/lib/clang/{19 → 21}/include/clzerointrin.h +0 -0
  189. /package/lib/clang/{19 → 21}/include/crc32intrin.h +0 -0
  190. /package/lib/clang/{19 → 21}/include/cuda_wrappers/algorithm +0 -0
  191. /package/lib/clang/{19 → 21}/include/cuda_wrappers/bits/basic_string.h +0 -0
  192. /package/lib/clang/{19 → 21}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
  193. /package/lib/clang/{19 → 21}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
  194. /package/lib/clang/{19 → 21}/include/cuda_wrappers/complex +0 -0
  195. /package/lib/clang/{19 → 21}/include/enqcmdintrin.h +0 -0
  196. /package/lib/clang/{19 → 21}/include/f16cintrin.h +0 -0
  197. /package/lib/clang/{19 → 21}/include/fma4intrin.h +0 -0
  198. /package/lib/clang/{19 → 21}/include/fmaintrin.h +0 -0
  199. /package/lib/clang/{19 → 21}/include/fxsrintrin.h +0 -0
  200. /package/lib/clang/{19 → 21}/include/hexagon_circ_brev_intrinsics.h +0 -0
  201. /package/lib/clang/{19 → 21}/include/hexagon_protos.h +0 -0
  202. /package/lib/clang/{19 → 21}/include/hresetintrin.h +0 -0
  203. /package/lib/clang/{19 → 21}/include/htmintrin.h +0 -0
  204. /package/lib/clang/{19 → 21}/include/htmxlintrin.h +0 -0
  205. /package/lib/clang/{19 → 21}/include/ia32intrin.h +0 -0
  206. /package/lib/clang/{19 → 21}/include/inttypes.h +0 -0
  207. /package/lib/clang/{19 → 21}/include/invpcidintrin.h +0 -0
  208. /package/lib/clang/{19 → 21}/include/iso646.h +0 -0
  209. /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/assert.h +0 -0
  210. /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/inttypes.h +0 -0
  211. /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/stdio.h +0 -0
  212. /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/string.h +0 -0
  213. /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/time.h +0 -0
  214. /package/lib/clang/{19 → 21}/include/lwpintrin.h +0 -0
  215. /package/lib/clang/{19 → 21}/include/mm3dnow.h +0 -0
  216. /package/lib/clang/{19 → 21}/include/mm_malloc.h +0 -0
  217. /package/lib/clang/{19 → 21}/include/movdirintrin.h +0 -0
  218. /package/lib/clang/{19 → 21}/include/msa.h +0 -0
  219. /package/lib/clang/{19 → 21}/include/mwaitxintrin.h +0 -0
  220. /package/lib/clang/{19 → 21}/include/nmmintrin.h +0 -0
  221. /package/lib/clang/{19 → 21}/include/openmp_wrappers/cmath +0 -0
  222. /package/lib/clang/{19 → 21}/include/openmp_wrappers/complex +0 -0
  223. /package/lib/clang/{19 → 21}/include/openmp_wrappers/complex.h +0 -0
  224. /package/lib/clang/{19 → 21}/include/openmp_wrappers/math.h +0 -0
  225. /package/lib/clang/{19 → 21}/include/openmp_wrappers/new +0 -0
  226. /package/lib/clang/{19 → 21}/include/pconfigintrin.h +0 -0
  227. /package/lib/clang/{19 → 21}/include/pkuintrin.h +0 -0
  228. /package/lib/clang/{19 → 21}/include/ppc_wrappers/bmi2intrin.h +0 -0
  229. /package/lib/clang/{19 → 21}/include/ppc_wrappers/bmiintrin.h +0 -0
  230. /package/lib/clang/{19 → 21}/include/ppc_wrappers/emmintrin.h +0 -0
  231. /package/lib/clang/{19 → 21}/include/ppc_wrappers/immintrin.h +0 -0
  232. /package/lib/clang/{19 → 21}/include/ppc_wrappers/mm_malloc.h +0 -0
  233. /package/lib/clang/{19 → 21}/include/ppc_wrappers/mmintrin.h +0 -0
  234. /package/lib/clang/{19 → 21}/include/ppc_wrappers/nmmintrin.h +0 -0
  235. /package/lib/clang/{19 → 21}/include/ppc_wrappers/pmmintrin.h +0 -0
  236. /package/lib/clang/{19 → 21}/include/ppc_wrappers/smmintrin.h +0 -0
  237. /package/lib/clang/{19 → 21}/include/ppc_wrappers/tmmintrin.h +0 -0
  238. /package/lib/clang/{19 → 21}/include/ppc_wrappers/x86gprintrin.h +0 -0
  239. /package/lib/clang/{19 → 21}/include/ppc_wrappers/x86intrin.h +0 -0
  240. /package/lib/clang/{19 → 21}/include/ppc_wrappers/xmmintrin.h +0 -0
  241. /package/lib/clang/{19 → 21}/include/prfchiintrin.h +0 -0
  242. /package/lib/clang/{19 → 21}/include/ptwriteintrin.h +0 -0
  243. /package/lib/clang/{19 → 21}/include/raointintrin.h +0 -0
  244. /package/lib/clang/{19 → 21}/include/rdpruintrin.h +0 -0
  245. /package/lib/clang/{19 → 21}/include/rdseedintrin.h +0 -0
  246. /package/lib/clang/{19 → 21}/include/riscv_bitmanip.h +0 -0
  247. /package/lib/clang/{19 → 21}/include/riscv_crypto.h +0 -0
  248. /package/lib/clang/{19 → 21}/include/riscv_ntlh.h +0 -0
  249. /package/lib/clang/{19 → 21}/include/rtmintrin.h +0 -0
  250. /package/lib/clang/{19 → 21}/include/s390intrin.h +0 -0
  251. /package/lib/clang/{19 → 21}/include/serializeintrin.h +0 -0
  252. /package/lib/clang/{19 → 21}/include/sgxintrin.h +0 -0
  253. /package/lib/clang/{19 → 21}/include/sha512intrin.h +0 -0
  254. /package/lib/clang/{19 → 21}/include/sifive_vector.h +0 -0
  255. /package/lib/clang/{19 → 21}/include/sm3intrin.h +0 -0
  256. /package/lib/clang/{19 → 21}/include/sm4intrin.h +0 -0
  257. /package/lib/clang/{19 → 21}/include/stdarg.h +0 -0
  258. /package/lib/clang/{19 → 21}/include/stdatomic.h +0 -0
  259. /package/lib/clang/{19 → 21}/include/stdbool.h +0 -0
  260. /package/lib/clang/{19 → 21}/include/stdckdint.h +0 -0
  261. /package/lib/clang/{19 → 21}/include/stddef.h +0 -0
  262. /package/lib/clang/{19 → 21}/include/stdnoreturn.h +0 -0
  263. /package/lib/clang/{19 → 21}/include/tgmath.h +0 -0
  264. /package/lib/clang/{19 → 21}/include/tsxldtrkintrin.h +0 -0
  265. /package/lib/clang/{19 → 21}/include/uintrintrin.h +0 -0
  266. /package/lib/clang/{19 → 21}/include/unwind.h +0 -0
  267. /package/lib/clang/{19 → 21}/include/usermsrintrin.h +0 -0
  268. /package/lib/clang/{19 → 21}/include/vadefs.h +0 -0
  269. /package/lib/clang/{19 → 21}/include/vaesintrin.h +0 -0
  270. /package/lib/clang/{19 → 21}/include/varargs.h +0 -0
  271. /package/lib/clang/{19 → 21}/include/velintrin.h +0 -0
  272. /package/lib/clang/{19 → 21}/include/velintrin_approx.h +0 -0
  273. /package/lib/clang/{19 → 21}/include/velintrin_gen.h +0 -0
  274. /package/lib/clang/{19 → 21}/include/vpclmulqdqintrin.h +0 -0
  275. /package/lib/clang/{19 → 21}/include/waitpkgintrin.h +0 -0
  276. /package/lib/clang/{19 → 21}/include/wbnoinvdintrin.h +0 -0
  277. /package/lib/clang/{19 → 21}/include/wmmintrin.h +0 -0
  278. /package/lib/clang/{19 → 21}/include/xopintrin.h +0 -0
  279. /package/lib/clang/{19 → 21}/include/xsavecintrin.h +0 -0
  280. /package/lib/clang/{19 → 21}/include/xsaveintrin.h +0 -0
  281. /package/lib/clang/{19 → 21}/include/xsaveoptintrin.h +0 -0
  282. /package/lib/clang/{19 → 21}/include/xsavesintrin.h +0 -0
  283. /package/lib/clang/{19 → 21}/include/xtestintrin.h +0 -0
  284. /package/lib/clang/{19 → 21}/include/yvals_core.h +0 -0
  285. /package/lib/clang/{19 → 21}/include/zos_wrappers/builtins.h +0 -0
@@ -23,52 +23,98 @@ namespace hlsl {
23
23
  // 16-bit integer.
24
24
  typedef unsigned short uint16_t;
25
25
  typedef short int16_t;
26
+
27
+ // 16-bit floating point.
28
+ typedef half float16_t;
26
29
  #endif
27
30
 
31
+ // 32-bit integer.
32
+ typedef int int32_t;
33
+
28
34
  // unsigned 32-bit integer.
29
35
  typedef unsigned int uint;
36
+ typedef unsigned int uint32_t;
37
+
38
+ // 32-bit floating point.
39
+ typedef float float32_t;
30
40
 
31
41
  // 64-bit integer.
32
42
  typedef unsigned long uint64_t;
33
43
  typedef long int64_t;
34
44
 
45
+ // 64-bit floating point
46
+ typedef double float64_t;
47
+
35
48
  // built-in vector data types:
36
49
 
37
50
  #ifdef __HLSL_ENABLE_16_BIT
51
+ typedef vector<int16_t, 1> int16_t1;
38
52
  typedef vector<int16_t, 2> int16_t2;
39
53
  typedef vector<int16_t, 3> int16_t3;
40
54
  typedef vector<int16_t, 4> int16_t4;
55
+ typedef vector<uint16_t, 1> uint16_t1;
41
56
  typedef vector<uint16_t, 2> uint16_t2;
42
57
  typedef vector<uint16_t, 3> uint16_t3;
43
58
  typedef vector<uint16_t, 4> uint16_t4;
44
59
  #endif
60
+ typedef vector<bool, 1> bool1;
45
61
  typedef vector<bool, 2> bool2;
46
62
  typedef vector<bool, 3> bool3;
47
63
  typedef vector<bool, 4> bool4;
64
+ typedef vector<int, 1> int1;
48
65
  typedef vector<int, 2> int2;
49
66
  typedef vector<int, 3> int3;
50
67
  typedef vector<int, 4> int4;
68
+ typedef vector<uint, 1> uint1;
51
69
  typedef vector<uint, 2> uint2;
52
70
  typedef vector<uint, 3> uint3;
53
71
  typedef vector<uint, 4> uint4;
72
+ typedef vector<int32_t, 1> int32_t1;
73
+ typedef vector<int32_t, 2> int32_t2;
74
+ typedef vector<int32_t, 3> int32_t3;
75
+ typedef vector<int32_t, 4> int32_t4;
76
+ typedef vector<uint32_t, 1> uint32_t1;
77
+ typedef vector<uint32_t, 2> uint32_t2;
78
+ typedef vector<uint32_t, 3> uint32_t3;
79
+ typedef vector<uint32_t, 4> uint32_t4;
80
+ typedef vector<int64_t, 1> int64_t1;
54
81
  typedef vector<int64_t, 2> int64_t2;
55
82
  typedef vector<int64_t, 3> int64_t3;
56
83
  typedef vector<int64_t, 4> int64_t4;
84
+ typedef vector<uint64_t, 1> uint64_t1;
57
85
  typedef vector<uint64_t, 2> uint64_t2;
58
86
  typedef vector<uint64_t, 3> uint64_t3;
59
87
  typedef vector<uint64_t, 4> uint64_t4;
60
88
 
89
+ typedef vector<half, 1> half1;
61
90
  typedef vector<half, 2> half2;
62
91
  typedef vector<half, 3> half3;
63
92
  typedef vector<half, 4> half4;
64
-
93
+ typedef vector<float, 1> float1;
65
94
  typedef vector<float, 2> float2;
66
95
  typedef vector<float, 3> float3;
67
96
  typedef vector<float, 4> float4;
97
+ typedef vector<double, 1> double1;
68
98
  typedef vector<double, 2> double2;
69
99
  typedef vector<double, 3> double3;
70
100
  typedef vector<double, 4> double4;
71
101
 
102
+ #ifdef __HLSL_ENABLE_16_BIT
103
+ typedef vector<float16_t, 1> float16_t1;
104
+ typedef vector<float16_t, 2> float16_t2;
105
+ typedef vector<float16_t, 3> float16_t3;
106
+ typedef vector<float16_t, 4> float16_t4;
107
+ #endif
108
+
109
+ typedef vector<float32_t, 1> float32_t1;
110
+ typedef vector<float32_t, 2> float32_t2;
111
+ typedef vector<float32_t, 3> float32_t3;
112
+ typedef vector<float32_t, 4> float32_t4;
113
+ typedef vector<float64_t, 1> float64_t1;
114
+ typedef vector<float64_t, 2> float64_t2;
115
+ typedef vector<float64_t, 3> float64_t3;
116
+ typedef vector<float64_t, 4> float64_t4;
117
+
72
118
  } // namespace hlsl
73
119
 
74
120
  #endif //_HLSL_HLSL_BASIC_TYPES_H_
@@ -0,0 +1,427 @@
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 singed 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_COMPAT_UNARY_DOUBLE_OVERLOADS(fn) \
20
+ constexpr float fn(double V) { return fn((float)V); } \
21
+ constexpr float2 fn(double2 V) { return fn((float2)V); } \
22
+ constexpr float3 fn(double3 V) { return fn((float3)V); } \
23
+ constexpr float4 fn(double4 V) { return fn((float4)V); }
24
+
25
+ #define _DXC_COMPAT_BINARY_DOUBLE_OVERLOADS(fn) \
26
+ constexpr float fn(double V1, double V2) { \
27
+ return fn((float)V1, (float)V2); \
28
+ } \
29
+ constexpr float2 fn(double2 V1, double2 V2) { \
30
+ return fn((float2)V1, (float2)V2); \
31
+ } \
32
+ constexpr float3 fn(double3 V1, double3 V2) { \
33
+ return fn((float3)V1, (float3)V2); \
34
+ } \
35
+ constexpr float4 fn(double4 V1, double4 V2) { \
36
+ return fn((float4)V1, (float4)V2); \
37
+ }
38
+
39
+ #define _DXC_COMPAT_TERNARY_DOUBLE_OVERLOADS(fn) \
40
+ constexpr float fn(double V1, double V2, double V3) { \
41
+ return fn((float)V1, (float)V2, (float)V3); \
42
+ } \
43
+ constexpr float2 fn(double2 V1, double2 V2, double2 V3) { \
44
+ return fn((float2)V1, (float2)V2, (float2)V3); \
45
+ } \
46
+ constexpr float3 fn(double3 V1, double3 V2, double3 V3) { \
47
+ return fn((float3)V1, (float3)V2, (float3)V3); \
48
+ } \
49
+ constexpr float4 fn(double4 V1, double4 V2, double4 V3) { \
50
+ return fn((float4)V1, (float4)V2, (float4)V3); \
51
+ }
52
+
53
+ #define _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(fn) \
54
+ constexpr float fn(int V) { return fn((float)V); } \
55
+ constexpr float2 fn(int2 V) { return fn((float2)V); } \
56
+ constexpr float3 fn(int3 V) { return fn((float3)V); } \
57
+ constexpr float4 fn(int4 V) { return fn((float4)V); } \
58
+ constexpr float fn(uint V) { return fn((float)V); } \
59
+ constexpr float2 fn(uint2 V) { return fn((float2)V); } \
60
+ constexpr float3 fn(uint3 V) { return fn((float3)V); } \
61
+ constexpr float4 fn(uint4 V) { return fn((float4)V); } \
62
+ constexpr float fn(int64_t V) { return fn((float)V); } \
63
+ constexpr float2 fn(int64_t2 V) { return fn((float2)V); } \
64
+ constexpr float3 fn(int64_t3 V) { return fn((float3)V); } \
65
+ constexpr float4 fn(int64_t4 V) { return fn((float4)V); } \
66
+ constexpr float fn(uint64_t V) { return fn((float)V); } \
67
+ constexpr float2 fn(uint64_t2 V) { return fn((float2)V); } \
68
+ constexpr float3 fn(uint64_t3 V) { return fn((float3)V); } \
69
+ constexpr float4 fn(uint64_t4 V) { return fn((float4)V); }
70
+
71
+ #define _DXC_COMPAT_BINARY_INTEGER_OVERLOADS(fn) \
72
+ constexpr float fn(int V1, int V2) { return fn((float)V1, (float)V2); } \
73
+ constexpr float2 fn(int2 V1, int2 V2) { return fn((float2)V1, (float2)V2); } \
74
+ constexpr float3 fn(int3 V1, int3 V2) { return fn((float3)V1, (float3)V2); } \
75
+ constexpr float4 fn(int4 V1, int4 V2) { return fn((float4)V1, (float4)V2); } \
76
+ constexpr float fn(uint V1, uint V2) { return fn((float)V1, (float)V2); } \
77
+ constexpr float2 fn(uint2 V1, uint2 V2) { \
78
+ return fn((float2)V1, (float2)V2); \
79
+ } \
80
+ constexpr float3 fn(uint3 V1, uint3 V2) { \
81
+ return fn((float3)V1, (float3)V2); \
82
+ } \
83
+ constexpr float4 fn(uint4 V1, uint4 V2) { \
84
+ return fn((float4)V1, (float4)V2); \
85
+ } \
86
+ constexpr float fn(int64_t V1, int64_t V2) { \
87
+ return fn((float)V1, (float)V2); \
88
+ } \
89
+ constexpr float2 fn(int64_t2 V1, int64_t2 V2) { \
90
+ return fn((float2)V1, (float2)V2); \
91
+ } \
92
+ constexpr float3 fn(int64_t3 V1, int64_t3 V2) { \
93
+ return fn((float3)V1, (float3)V2); \
94
+ } \
95
+ constexpr float4 fn(int64_t4 V1, int64_t4 V2) { \
96
+ return fn((float4)V1, (float4)V2); \
97
+ } \
98
+ constexpr float fn(uint64_t V1, uint64_t V2) { \
99
+ return fn((float)V1, (float)V2); \
100
+ } \
101
+ constexpr float2 fn(uint64_t2 V1, uint64_t2 V2) { \
102
+ return fn((float2)V1, (float2)V2); \
103
+ } \
104
+ constexpr float3 fn(uint64_t3 V1, uint64_t3 V2) { \
105
+ return fn((float3)V1, (float3)V2); \
106
+ } \
107
+ constexpr float4 fn(uint64_t4 V1, uint64_t4 V2) { \
108
+ return fn((float4)V1, (float4)V2); \
109
+ }
110
+
111
+ #define _DXC_COMPAT_TERNARY_INTEGER_OVERLOADS(fn) \
112
+ constexpr float fn(int V1, int V2, int V3) { \
113
+ return fn((float)V1, (float)V2, (float)V3); \
114
+ } \
115
+ constexpr float2 fn(int2 V1, int2 V2, int2 V3) { \
116
+ return fn((float2)V1, (float2)V2, (float2)V3); \
117
+ } \
118
+ constexpr float3 fn(int3 V1, int3 V2, int3 V3) { \
119
+ return fn((float3)V1, (float3)V2, (float3)V3); \
120
+ } \
121
+ constexpr float4 fn(int4 V1, int4 V2, int4 V3) { \
122
+ return fn((float4)V1, (float4)V2, (float4)V3); \
123
+ } \
124
+ constexpr float fn(uint V1, uint V2, uint V3) { \
125
+ return fn((float)V1, (float)V2, (float)V3); \
126
+ } \
127
+ constexpr float2 fn(uint2 V1, uint2 V2, uint2 V3) { \
128
+ return fn((float2)V1, (float2)V2, (float2)V3); \
129
+ } \
130
+ constexpr float3 fn(uint3 V1, uint3 V2, uint3 V3) { \
131
+ return fn((float3)V1, (float3)V2, (float3)V3); \
132
+ } \
133
+ constexpr float4 fn(uint4 V1, uint4 V2, uint4 V3) { \
134
+ return fn((float4)V1, (float4)V2, (float4)V3); \
135
+ } \
136
+ constexpr float fn(int64_t V1, int64_t V2, int64_t V3) { \
137
+ return fn((float)V1, (float)V2, (float)V3); \
138
+ } \
139
+ constexpr float2 fn(int64_t2 V1, int64_t2 V2, int64_t2 V3) { \
140
+ return fn((float2)V1, (float2)V2, (float2)V3); \
141
+ } \
142
+ constexpr float3 fn(int64_t3 V1, int64_t3 V2, int64_t3 V3) { \
143
+ return fn((float3)V1, (float3)V2, (float3)V3); \
144
+ } \
145
+ constexpr float4 fn(int64_t4 V1, int64_t4 V2, int64_t4 V3) { \
146
+ return fn((float4)V1, (float4)V2, (float4)V3); \
147
+ } \
148
+ constexpr float fn(uint64_t V1, uint64_t V2, uint64_t V3) { \
149
+ return fn((float)V1, (float)V2, (float)V3); \
150
+ } \
151
+ constexpr float2 fn(uint64_t2 V1, uint64_t2 V2, uint64_t2 V3) { \
152
+ return fn((float2)V1, (float2)V2, (float2)V3); \
153
+ } \
154
+ constexpr float3 fn(uint64_t3 V1, uint64_t3 V2, uint64_t3 V3) { \
155
+ return fn((float3)V1, (float3)V2, (float3)V3); \
156
+ } \
157
+ constexpr float4 fn(uint64_t4 V1, uint64_t4 V2, uint64_t4 V3) { \
158
+ return fn((float4)V1, (float4)V2, (float4)V3); \
159
+ }
160
+
161
+ //===----------------------------------------------------------------------===//
162
+ // acos builtins overloads
163
+ //===----------------------------------------------------------------------===//
164
+
165
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(acos)
166
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(acos)
167
+
168
+ //===----------------------------------------------------------------------===//
169
+ // asin builtins overloads
170
+ //===----------------------------------------------------------------------===//
171
+
172
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(asin)
173
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(asin)
174
+
175
+ //===----------------------------------------------------------------------===//
176
+ // atan builtins overloads
177
+ //===----------------------------------------------------------------------===//
178
+
179
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(atan)
180
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(atan)
181
+
182
+ //===----------------------------------------------------------------------===//
183
+ // atan2 builtins overloads
184
+ //===----------------------------------------------------------------------===//
185
+
186
+ _DXC_COMPAT_BINARY_DOUBLE_OVERLOADS(atan2)
187
+ _DXC_COMPAT_BINARY_INTEGER_OVERLOADS(atan2)
188
+
189
+ //===----------------------------------------------------------------------===//
190
+ // ceil builtins overloads
191
+ //===----------------------------------------------------------------------===//
192
+
193
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(ceil)
194
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(ceil)
195
+
196
+ //===----------------------------------------------------------------------===//
197
+ // clamp builtins overloads
198
+ //===----------------------------------------------------------------------===//
199
+
200
+ template <typename T, uint N>
201
+ constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>>
202
+ clamp(vector<T, N> p0, vector<T, N> p1, T p2) {
203
+ return clamp(p0, p1, (vector<T, N>)p2);
204
+ }
205
+
206
+ template <typename T, uint N>
207
+ constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>>
208
+ clamp(vector<T, N> p0, T p1, vector<T, N> p2) {
209
+ return clamp(p0, (vector<T, N>)p1, p2);
210
+ }
211
+
212
+ template <typename T, uint N>
213
+ constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>>
214
+ clamp(vector<T, N> p0, T p1, T p2) {
215
+ return clamp(p0, (vector<T, N>)p1, (vector<T, N>)p2);
216
+ }
217
+
218
+ //===----------------------------------------------------------------------===//
219
+ // cos builtins overloads
220
+ //===----------------------------------------------------------------------===//
221
+
222
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(cos)
223
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(cos)
224
+
225
+ //===----------------------------------------------------------------------===//
226
+ // cosh builtins overloads
227
+ //===----------------------------------------------------------------------===//
228
+
229
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(cosh)
230
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(cosh)
231
+
232
+ //===----------------------------------------------------------------------===//
233
+ // degrees builtins overloads
234
+ //===----------------------------------------------------------------------===//
235
+
236
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(degrees)
237
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(degrees)
238
+
239
+ //===----------------------------------------------------------------------===//
240
+ // exp builtins overloads
241
+ //===----------------------------------------------------------------------===//
242
+
243
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(exp)
244
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(exp)
245
+
246
+ //===----------------------------------------------------------------------===//
247
+ // exp2 builtins overloads
248
+ //===----------------------------------------------------------------------===//
249
+
250
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(exp2)
251
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(exp2)
252
+
253
+ //===----------------------------------------------------------------------===//
254
+ // floor builtins overloads
255
+ //===----------------------------------------------------------------------===//
256
+
257
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(floor)
258
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(floor)
259
+
260
+ //===----------------------------------------------------------------------===//
261
+ // frac builtins overloads
262
+ //===----------------------------------------------------------------------===//
263
+
264
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(frac)
265
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(frac)
266
+
267
+ //===----------------------------------------------------------------------===//
268
+ // isinf builtins overloads
269
+ //===----------------------------------------------------------------------===//
270
+
271
+ constexpr bool isinf(double V) { return isinf((float)V); }
272
+ constexpr bool2 isinf(double2 V) { return isinf((float2)V); }
273
+ constexpr bool3 isinf(double3 V) { return isinf((float3)V); }
274
+ constexpr bool4 isinf(double4 V) { return isinf((float4)V); }
275
+
276
+ //===----------------------------------------------------------------------===//
277
+ // lerp builtins overloads
278
+ //===----------------------------------------------------------------------===//
279
+
280
+ template <typename T, uint N>
281
+ constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>>
282
+ lerp(vector<T, N> x, vector<T, N> y, T s) {
283
+ return lerp(x, y, (vector<T, N>)s);
284
+ }
285
+
286
+ _DXC_COMPAT_TERNARY_DOUBLE_OVERLOADS(lerp)
287
+ _DXC_COMPAT_TERNARY_INTEGER_OVERLOADS(lerp)
288
+
289
+ //===----------------------------------------------------------------------===//
290
+ // log builtins overloads
291
+ //===----------------------------------------------------------------------===//
292
+
293
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(log)
294
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(log)
295
+
296
+ //===----------------------------------------------------------------------===//
297
+ // log10 builtins overloads
298
+ //===----------------------------------------------------------------------===//
299
+
300
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(log10)
301
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(log10)
302
+
303
+ //===----------------------------------------------------------------------===//
304
+ // log2 builtins overloads
305
+ //===----------------------------------------------------------------------===//
306
+
307
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(log2)
308
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(log2)
309
+
310
+ //===----------------------------------------------------------------------===//
311
+ // max builtins overloads
312
+ //===----------------------------------------------------------------------===//
313
+
314
+ template <typename T, uint N>
315
+ constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>>
316
+ max(vector<T, N> p0, T p1) {
317
+ return max(p0, (vector<T, N>)p1);
318
+ }
319
+
320
+ template <typename T, uint N>
321
+ constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>>
322
+ max(T p0, vector<T, N> p1) {
323
+ return max((vector<T, N>)p0, p1);
324
+ }
325
+
326
+ //===----------------------------------------------------------------------===//
327
+ // min builtins overloads
328
+ //===----------------------------------------------------------------------===//
329
+
330
+ template <typename T, uint N>
331
+ constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>>
332
+ min(vector<T, N> p0, T p1) {
333
+ return min(p0, (vector<T, N>)p1);
334
+ }
335
+
336
+ template <typename T, uint N>
337
+ constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>>
338
+ min(T p0, vector<T, N> p1) {
339
+ return min((vector<T, N>)p0, p1);
340
+ }
341
+
342
+ //===----------------------------------------------------------------------===//
343
+ // normalize builtins overloads
344
+ //===----------------------------------------------------------------------===//
345
+
346
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(normalize)
347
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(normalize)
348
+
349
+ //===----------------------------------------------------------------------===//
350
+ // pow builtins overloads
351
+ //===----------------------------------------------------------------------===//
352
+
353
+ _DXC_COMPAT_BINARY_DOUBLE_OVERLOADS(pow)
354
+ _DXC_COMPAT_BINARY_INTEGER_OVERLOADS(pow)
355
+
356
+ //===----------------------------------------------------------------------===//
357
+ // rsqrt builtins overloads
358
+ //===----------------------------------------------------------------------===//
359
+
360
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(rsqrt)
361
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(rsqrt)
362
+
363
+ //===----------------------------------------------------------------------===//
364
+ // round builtins overloads
365
+ //===----------------------------------------------------------------------===//
366
+
367
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(round)
368
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(round)
369
+
370
+ //===----------------------------------------------------------------------===//
371
+ // sin builtins overloads
372
+ //===----------------------------------------------------------------------===//
373
+
374
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(sin)
375
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(sin)
376
+
377
+ //===----------------------------------------------------------------------===//
378
+ // sinh builtins overloads
379
+ //===----------------------------------------------------------------------===//
380
+
381
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(sinh)
382
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(sinh)
383
+
384
+ //===----------------------------------------------------------------------===//
385
+ // sqrt builtins overloads
386
+ //===----------------------------------------------------------------------===//
387
+
388
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(sqrt)
389
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(sqrt)
390
+
391
+ //===----------------------------------------------------------------------===//
392
+ // step builtins overloads
393
+ //===----------------------------------------------------------------------===//
394
+
395
+ _DXC_COMPAT_BINARY_DOUBLE_OVERLOADS(step)
396
+ _DXC_COMPAT_BINARY_INTEGER_OVERLOADS(step)
397
+
398
+ //===----------------------------------------------------------------------===//
399
+ // tan builtins overloads
400
+ //===----------------------------------------------------------------------===//
401
+
402
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(tan)
403
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(tan)
404
+
405
+ //===----------------------------------------------------------------------===//
406
+ // tanh builtins overloads
407
+ //===----------------------------------------------------------------------===//
408
+
409
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(tanh)
410
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(tanh)
411
+
412
+ //===----------------------------------------------------------------------===//
413
+ // trunc builtins overloads
414
+ //===----------------------------------------------------------------------===//
415
+
416
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(trunc)
417
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(trunc)
418
+
419
+ //===----------------------------------------------------------------------===//
420
+ // radians builtins overloads
421
+ //===----------------------------------------------------------------------===//
422
+
423
+ _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(radians)
424
+ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(radians)
425
+
426
+ } // namespace hlsl
427
+ #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_