@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
@@ -14,6 +14,8 @@
14
14
  #include "hip/hip_version.h"
15
15
  #endif // __has_include("hip/hip_version.h")
16
16
 
17
+ #define __PRIVATE_AS __attribute__((opencl_private))
18
+
17
19
  #ifdef __cplusplus
18
20
  extern "C" {
19
21
  #endif
@@ -55,8 +57,7 @@ __device__ __attribute__((const)) float __ocml_fmax_f32(float, float);
55
57
  __device__ __attribute__((const)) float __ocml_fmin_f32(float, float);
56
58
  __device__ __attribute__((const)) __device__ float __ocml_fmod_f32(float,
57
59
  float);
58
- __device__ float __ocml_frexp_f32(float,
59
- __attribute__((address_space(5))) int *);
60
+ __device__ float __ocml_frexp_f32(float, __PRIVATE_AS int *);
60
61
  __device__ __attribute__((const)) float __ocml_hypot_f32(float, float);
61
62
  __device__ __attribute__((const)) int __ocml_ilogb_f32(float);
62
63
  __device__ __attribute__((const)) int __ocml_isfinite_f32(float);
@@ -74,8 +75,7 @@ __device__ __attribute__((pure)) float __ocml_native_log2_f32(float);
74
75
  __device__ __attribute__((const)) float __ocml_logb_f32(float);
75
76
  __device__ __attribute__((pure)) float __ocml_log_f32(float);
76
77
  __device__ __attribute__((pure)) float __ocml_native_log_f32(float);
77
- __device__ float __ocml_modf_f32(float,
78
- __attribute__((address_space(5))) float *);
78
+ __device__ float __ocml_modf_f32(float, __PRIVATE_AS float *);
79
79
  __device__ __attribute__((const)) float __ocml_nearbyint_f32(float);
80
80
  __device__ __attribute__((const)) float __ocml_nextafter_f32(float, float);
81
81
  __device__ __attribute__((const)) float __ocml_len3_f32(float, float, float);
@@ -87,8 +87,7 @@ __device__ __attribute__((pure)) float __ocml_pow_f32(float, float);
87
87
  __device__ __attribute__((pure)) float __ocml_pown_f32(float, int);
88
88
  __device__ __attribute__((pure)) float __ocml_rcbrt_f32(float);
89
89
  __device__ __attribute__((const)) float __ocml_remainder_f32(float, float);
90
- __device__ float __ocml_remquo_f32(float, float,
91
- __attribute__((address_space(5))) int *);
90
+ __device__ float __ocml_remquo_f32(float, float, __PRIVATE_AS int *);
92
91
  __device__ __attribute__((const)) float __ocml_rhypot_f32(float, float);
93
92
  __device__ __attribute__((const)) float __ocml_rint_f32(float);
94
93
  __device__ __attribute__((const)) float __ocml_rlen3_f32(float, float, float);
@@ -99,10 +98,8 @@ __device__ __attribute__((pure)) float __ocml_rsqrt_f32(float);
99
98
  __device__ __attribute__((const)) float __ocml_scalb_f32(float, float);
100
99
  __device__ __attribute__((const)) float __ocml_scalbn_f32(float, int);
101
100
  __device__ __attribute__((const)) int __ocml_signbit_f32(float);
102
- __device__ float __ocml_sincos_f32(float,
103
- __attribute__((address_space(5))) float *);
104
- __device__ float __ocml_sincospi_f32(float,
105
- __attribute__((address_space(5))) float *);
101
+ __device__ float __ocml_sincos_f32(float, __PRIVATE_AS float *);
102
+ __device__ float __ocml_sincospi_f32(float, __PRIVATE_AS float *);
106
103
  __device__ float __ocml_sin_f32(float);
107
104
  __device__ float __ocml_native_sin_f32(float);
108
105
  __device__ __attribute__((pure)) float __ocml_sinh_f32(float);
@@ -176,8 +173,7 @@ __device__ __attribute__((const)) double __ocml_fma_f64(double, double, double);
176
173
  __device__ __attribute__((const)) double __ocml_fmax_f64(double, double);
177
174
  __device__ __attribute__((const)) double __ocml_fmin_f64(double, double);
178
175
  __device__ __attribute__((const)) double __ocml_fmod_f64(double, double);
179
- __device__ double __ocml_frexp_f64(double,
180
- __attribute__((address_space(5))) int *);
176
+ __device__ double __ocml_frexp_f64(double, __PRIVATE_AS int *);
181
177
  __device__ __attribute__((const)) double __ocml_hypot_f64(double, double);
182
178
  __device__ __attribute__((const)) int __ocml_ilogb_f64(double);
183
179
  __device__ __attribute__((const)) int __ocml_isfinite_f64(double);
@@ -192,8 +188,7 @@ __device__ __attribute__((pure)) double __ocml_log1p_f64(double);
192
188
  __device__ __attribute__((pure)) double __ocml_log2_f64(double);
193
189
  __device__ __attribute__((const)) double __ocml_logb_f64(double);
194
190
  __device__ __attribute__((pure)) double __ocml_log_f64(double);
195
- __device__ double __ocml_modf_f64(double,
196
- __attribute__((address_space(5))) double *);
191
+ __device__ double __ocml_modf_f64(double, __PRIVATE_AS double *);
197
192
  __device__ __attribute__((const)) double __ocml_nearbyint_f64(double);
198
193
  __device__ __attribute__((const)) double __ocml_nextafter_f64(double, double);
199
194
  __device__ __attribute__((const)) double __ocml_len3_f64(double, double,
@@ -206,8 +201,7 @@ __device__ __attribute__((pure)) double __ocml_pow_f64(double, double);
206
201
  __device__ __attribute__((pure)) double __ocml_pown_f64(double, int);
207
202
  __device__ __attribute__((pure)) double __ocml_rcbrt_f64(double);
208
203
  __device__ __attribute__((const)) double __ocml_remainder_f64(double, double);
209
- __device__ double __ocml_remquo_f64(double, double,
210
- __attribute__((address_space(5))) int *);
204
+ __device__ double __ocml_remquo_f64(double, double, __PRIVATE_AS int *);
211
205
  __device__ __attribute__((const)) double __ocml_rhypot_f64(double, double);
212
206
  __device__ __attribute__((const)) double __ocml_rint_f64(double);
213
207
  __device__ __attribute__((const)) double __ocml_rlen3_f64(double, double,
@@ -219,10 +213,8 @@ __device__ __attribute__((pure)) double __ocml_rsqrt_f64(double);
219
213
  __device__ __attribute__((const)) double __ocml_scalb_f64(double, double);
220
214
  __device__ __attribute__((const)) double __ocml_scalbn_f64(double, int);
221
215
  __device__ __attribute__((const)) int __ocml_signbit_f64(double);
222
- __device__ double __ocml_sincos_f64(double,
223
- __attribute__((address_space(5))) double *);
224
- __device__ double
225
- __ocml_sincospi_f64(double, __attribute__((address_space(5))) double *);
216
+ __device__ double __ocml_sincos_f64(double, __PRIVATE_AS double *);
217
+ __device__ double __ocml_sincospi_f64(double, __PRIVATE_AS double *);
226
218
  __device__ double __ocml_sin_f64(double);
227
219
  __device__ __attribute__((pure)) double __ocml_sinh_f64(double);
228
220
  __device__ double __ocml_sinpi_f64(double);
@@ -317,28 +309,6 @@ __device__ __attribute__((pure)) __2f16 __ocml_log_2f16(__2f16);
317
309
  __device__ __attribute__((pure)) __2f16 __ocml_log10_2f16(__2f16);
318
310
  __device__ __attribute__((pure)) __2f16 __ocml_log2_2f16(__2f16);
319
311
 
320
- #if HIP_VERSION_MAJOR * 100 + HIP_VERSION_MINOR >= 560
321
- #define __DEPRECATED_SINCE_HIP_560(X) __attribute__((deprecated(X)))
322
- #else
323
- #define __DEPRECATED_SINCE_HIP_560(X)
324
- #endif
325
-
326
- // Deprecated, should be removed when rocm releases using it are no longer
327
- // relevant.
328
- __DEPRECATED_SINCE_HIP_560("use ((_Float16)1.0) / ")
329
- __device__ inline _Float16 __llvm_amdgcn_rcp_f16(_Float16 x) {
330
- return ((_Float16)1.0f) / x;
331
- }
332
-
333
- __DEPRECATED_SINCE_HIP_560("use ((__2f16)1.0) / ")
334
- __device__ inline __2f16
335
- __llvm_amdgcn_rcp_2f16(__2f16 __x)
336
- {
337
- return ((__2f16)1.0f) / __x;
338
- }
339
-
340
- #undef __DEPRECATED_SINCE_HIP_560
341
-
342
312
  __device__ __attribute__((const)) __2f16 __ocml_rint_2f16(__2f16);
343
313
  __device__ __attribute__((const)) __2f16 __ocml_rsqrt_2f16(__2f16);
344
314
  __device__ __2f16 __ocml_sin_2f16(__2f16);
@@ -346,6 +316,23 @@ __device__ __attribute__((const)) __2f16 __ocml_sqrt_2f16(__2f16);
346
316
  __device__ __attribute__((const)) __2f16 __ocml_trunc_2f16(__2f16);
347
317
  __device__ __attribute__((const)) __2f16 __ocml_pown_2f16(__2f16, __2i16);
348
318
 
319
+ __device__ void __asan_poison_memory_region(const void *addr,
320
+ __SIZE_TYPE__ size);
321
+ __device__ void __asan_unpoison_memory_region(const void *addr,
322
+ __SIZE_TYPE__ size);
323
+ __device__ int __asan_address_is_poisoned(const void *addr);
324
+ __device__ void *__asan_region_is_poisoned(void *beg, __SIZE_TYPE__ size);
325
+
326
+ #if __has_feature(address_sanitizer)
327
+ #define ASAN_POISON_MEMORY_REGION(addr, size) \
328
+ __asan_poison_memory_region((addr), (size))
329
+ #define ASAN_UNPOISON_MEMORY_REGION(addr, size) \
330
+ __asan_unpoison_memory_region((addr), (size))
331
+ #else
332
+ #define ASAN_POISON_MEMORY_REGION(addr, size) ((void)(addr), (void)(size))
333
+ #define ASAN_UNPOISON_MEMORY_REGION(addr, size) ((void)(addr), (void)(size))
334
+ #endif
335
+
349
336
  #ifdef __cplusplus
350
337
  } // extern "C"
351
338
  #endif
@@ -33,6 +33,9 @@
33
33
  #define __DEVICE__ static __device__ inline __attribute__((always_inline))
34
34
  #endif
35
35
 
36
+ #pragma push_macro("__PRIVATE_AS")
37
+
38
+ #define __PRIVATE_AS __attribute__((opencl_private))
36
39
  // Device library provides fast low precision and slow full-recision
37
40
  // implementations for some functions. Which one gets selected depends on
38
41
  // __CLANG_GPU_APPROX_TRANSCENDENTALS__ which gets defined by clang if
@@ -389,7 +392,7 @@ __DEVICE__
389
392
  float erfinvf(float __x) { return __ocml_erfinv_f32(__x); }
390
393
 
391
394
  __DEVICE__
392
- float exp10f(float __x) { return __ocml_exp10_f32(__x); }
395
+ float exp10f(float __x) { return __builtin_exp10f(__x); }
393
396
 
394
397
  __DEVICE__
395
398
  float exp2f(float __x) { return __builtin_exp2f(__x); }
@@ -492,13 +495,13 @@ __DEVICE__
492
495
  float log1pf(float __x) { return __ocml_log1p_f32(__x); }
493
496
 
494
497
  __DEVICE__
495
- float log2f(float __x) { return __FAST_OR_SLOW(__log2f, __ocml_log2_f32)(__x); }
498
+ float log2f(float __x) { return __FAST_OR_SLOW(__log2f, __builtin_log2f)(__x); }
496
499
 
497
500
  __DEVICE__
498
- float logbf(float __x) { return __ocml_logb_f32(__x); }
501
+ float logbf(float __x) { return __builtin_logbf(__x); }
499
502
 
500
503
  __DEVICE__
501
- float logf(float __x) { return __FAST_OR_SLOW(__logf, __ocml_log_f32)(__x); }
504
+ float logf(float __x) { return __FAST_OR_SLOW(__logf, __builtin_logf)(__x); }
502
505
 
503
506
  __DEVICE__
504
507
  long int lrintf(float __x) { return __builtin_rintf(__x); }
@@ -512,8 +515,7 @@ float modff(float __x, float *__iptr) {
512
515
  #ifdef __OPENMP_AMDGCN__
513
516
  #pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
514
517
  #endif
515
- float __r =
516
- __ocml_modf_f32(__x, (__attribute__((address_space(5))) float *)&__tmp);
518
+ float __r = __ocml_modf_f32(__x, (__PRIVATE_AS float *)&__tmp);
517
519
  *__iptr = __tmp;
518
520
  return __r;
519
521
  }
@@ -595,8 +597,7 @@ float remquof(float __x, float __y, int *__quo) {
595
597
  #ifdef __OPENMP_AMDGCN__
596
598
  #pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
597
599
  #endif
598
- float __r = __ocml_remquo_f32(
599
- __x, __y, (__attribute__((address_space(5))) int *)&__tmp);
600
+ float __r = __ocml_remquo_f32(__x, __y, (__PRIVATE_AS int *)&__tmp);
600
601
  *__quo = __tmp;
601
602
 
602
603
  return __r;
@@ -638,8 +639,11 @@ float rsqrtf(float __x) { return __ocml_rsqrt_f32(__x); }
638
639
 
639
640
  __DEVICE__
640
641
  float scalblnf(float __x, long int __n) {
641
- return (__n < INT_MAX) ? __builtin_amdgcn_ldexpf(__x, __n)
642
- : __ocml_scalb_f32(__x, __n);
642
+ if (__n > INT_MAX)
643
+ __n = INT_MAX;
644
+ else if (__n < INT_MIN)
645
+ __n = INT_MIN;
646
+ return __builtin_ldexpf(__x, (int)__n);
643
647
  }
644
648
 
645
649
  __DEVICE__
@@ -657,8 +661,7 @@ void sincosf(float __x, float *__sinptr, float *__cosptr) {
657
661
  #ifdef __CLANG_CUDA_APPROX_TRANSCENDENTALS__
658
662
  __sincosf(__x, __sinptr, __cosptr);
659
663
  #else
660
- *__sinptr =
661
- __ocml_sincos_f32(__x, (__attribute__((address_space(5))) float *)&__tmp);
664
+ *__sinptr = __ocml_sincos_f32(__x, (__PRIVATE_AS float *)&__tmp);
662
665
  *__cosptr = __tmp;
663
666
  #endif
664
667
  }
@@ -669,8 +672,7 @@ void sincospif(float __x, float *__sinptr, float *__cosptr) {
669
672
  #ifdef __OPENMP_AMDGCN__
670
673
  #pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
671
674
  #endif
672
- *__sinptr = __ocml_sincospi_f32(
673
- __x, (__attribute__((address_space(5))) float *)&__tmp);
675
+ *__sinptr = __ocml_sincospi_f32(__x, (__PRIVATE_AS float *)&__tmp);
674
676
  *__cosptr = __tmp;
675
677
  }
676
678
 
@@ -899,7 +901,7 @@ __DEVICE__
899
901
  double log2(double __x) { return __ocml_log2_f64(__x); }
900
902
 
901
903
  __DEVICE__
902
- double logb(double __x) { return __ocml_logb_f64(__x); }
904
+ double logb(double __x) { return __builtin_logb(__x); }
903
905
 
904
906
  __DEVICE__
905
907
  long int lrint(double __x) { return __builtin_rint(__x); }
@@ -913,8 +915,7 @@ double modf(double __x, double *__iptr) {
913
915
  #ifdef __OPENMP_AMDGCN__
914
916
  #pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
915
917
  #endif
916
- double __r =
917
- __ocml_modf_f64(__x, (__attribute__((address_space(5))) double *)&__tmp);
918
+ double __r = __ocml_modf_f64(__x, (__PRIVATE_AS double *)&__tmp);
918
919
  *__iptr = __tmp;
919
920
 
920
921
  return __r;
@@ -1004,8 +1005,7 @@ double remquo(double __x, double __y, int *__quo) {
1004
1005
  #ifdef __OPENMP_AMDGCN__
1005
1006
  #pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
1006
1007
  #endif
1007
- double __r = __ocml_remquo_f64(
1008
- __x, __y, (__attribute__((address_space(5))) int *)&__tmp);
1008
+ double __r = __ocml_remquo_f64(__x, __y, (__PRIVATE_AS int *)&__tmp);
1009
1009
  *__quo = __tmp;
1010
1010
 
1011
1011
  return __r;
@@ -1047,8 +1047,11 @@ double rsqrt(double __x) { return __ocml_rsqrt_f64(__x); }
1047
1047
 
1048
1048
  __DEVICE__
1049
1049
  double scalbln(double __x, long int __n) {
1050
- return (__n < INT_MAX) ? __builtin_amdgcn_ldexp(__x, __n)
1051
- : __ocml_scalb_f64(__x, __n);
1050
+ if (__n > INT_MAX)
1051
+ __n = INT_MAX;
1052
+ else if (__n < INT_MIN)
1053
+ __n = INT_MIN;
1054
+ return __builtin_ldexp(__x, (int)__n);
1052
1055
  }
1053
1056
  __DEVICE__
1054
1057
  double scalbn(double __x, int __n) { return __builtin_amdgcn_ldexp(__x, __n); }
@@ -1065,8 +1068,7 @@ void sincos(double __x, double *__sinptr, double *__cosptr) {
1065
1068
  #ifdef __OPENMP_AMDGCN__
1066
1069
  #pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
1067
1070
  #endif
1068
- *__sinptr = __ocml_sincos_f64(
1069
- __x, (__attribute__((address_space(5))) double *)&__tmp);
1071
+ *__sinptr = __ocml_sincos_f64(__x, (__PRIVATE_AS double *)&__tmp);
1070
1072
  *__cosptr = __tmp;
1071
1073
  }
1072
1074
 
@@ -1076,8 +1078,7 @@ void sincospi(double __x, double *__sinptr, double *__cosptr) {
1076
1078
  #ifdef __OPENMP_AMDGCN__
1077
1079
  #pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
1078
1080
  #endif
1079
- *__sinptr = __ocml_sincospi_f64(
1080
- __x, (__attribute__((address_space(5))) double *)&__tmp);
1081
+ *__sinptr = __ocml_sincospi_f64(__x, (__PRIVATE_AS double *)&__tmp);
1081
1082
  *__cosptr = __tmp;
1082
1083
  }
1083
1084
 
@@ -1310,18 +1311,93 @@ float min(float __x, float __y) { return __builtin_fminf(__x, __y); }
1310
1311
  __DEVICE__
1311
1312
  double min(double __x, double __y) { return __builtin_fmin(__x, __y); }
1312
1313
 
1313
- #if !defined(__HIPCC_RTC__) && !defined(__OPENMP_AMDGCN__)
1314
- __host__ inline static int min(int __arg1, int __arg2) {
1315
- return __arg1 < __arg2 ? __arg1 : __arg2;
1314
+ // Define host min/max functions.
1315
+ #if !defined(__HIPCC_RTC__) && !defined(__OPENMP_AMDGCN__) && \
1316
+ !defined(__HIP_NO_HOST_MIN_MAX_IN_GLOBAL_NAMESPACE__)
1317
+
1318
+ // TODO: make this default to 1 after existing HIP apps adopting this change.
1319
+ #ifndef __HIP_DEFINE_EXTENDED_HOST_MIN_MAX__
1320
+ #define __HIP_DEFINE_EXTENDED_HOST_MIN_MAX__ 0
1321
+ #endif
1322
+
1323
+ #ifndef __HIP_DEFINE_MIXED_HOST_MIN_MAX__
1324
+ #define __HIP_DEFINE_MIXED_HOST_MIN_MAX__ 0
1325
+ #endif
1326
+
1327
+ #pragma push_macro("DEFINE_MIN_MAX_FUNCTIONS")
1328
+ #pragma push_macro("DEFINE_MIN_MAX_FUNCTIONS")
1329
+ #define DEFINE_MIN_MAX_FUNCTIONS(ret_type, type1, type2) \
1330
+ inline ret_type min(const type1 __a, const type2 __b) { \
1331
+ return (__a < __b) ? __a : __b; \
1332
+ } \
1333
+ inline ret_type max(const type1 __a, const type2 __b) { \
1334
+ return (__a > __b) ? __a : __b; \
1335
+ }
1336
+
1337
+ // Define min and max functions for same type comparisons
1338
+ DEFINE_MIN_MAX_FUNCTIONS(int, int, int)
1339
+
1340
+ #if __HIP_DEFINE_EXTENDED_HOST_MIN_MAX__
1341
+ DEFINE_MIN_MAX_FUNCTIONS(unsigned int, unsigned int, unsigned int)
1342
+ DEFINE_MIN_MAX_FUNCTIONS(long, long, long)
1343
+ DEFINE_MIN_MAX_FUNCTIONS(unsigned long, unsigned long, unsigned long)
1344
+ DEFINE_MIN_MAX_FUNCTIONS(long long, long long, long long)
1345
+ DEFINE_MIN_MAX_FUNCTIONS(unsigned long long, unsigned long long,
1346
+ unsigned long long)
1347
+ #endif // if __HIP_DEFINE_EXTENDED_HOST_MIN_MAX__
1348
+
1349
+ // The host min/max functions below accept mixed signed/unsigned integer
1350
+ // parameters and perform unsigned comparisons, which may produce unexpected
1351
+ // results if a signed integer was passed unintentionally. To avoid this
1352
+ // happening silently, these overloaded functions are not defined by default.
1353
+ // However, for compatibility with CUDA, they will be defined if users define
1354
+ // __HIP_DEFINE_MIXED_HOST_MIN_MAX__.
1355
+ #if __HIP_DEFINE_MIXED_HOST_MIN_MAX__
1356
+ DEFINE_MIN_MAX_FUNCTIONS(unsigned int, int, unsigned int)
1357
+ DEFINE_MIN_MAX_FUNCTIONS(unsigned int, unsigned int, int)
1358
+ DEFINE_MIN_MAX_FUNCTIONS(unsigned long, long, unsigned long)
1359
+ DEFINE_MIN_MAX_FUNCTIONS(unsigned long, unsigned long, long)
1360
+ DEFINE_MIN_MAX_FUNCTIONS(unsigned long long, long long, unsigned long long)
1361
+ DEFINE_MIN_MAX_FUNCTIONS(unsigned long long, unsigned long long, long long)
1362
+ #endif // if __HIP_DEFINE_MIXED_HOST_MIN_MAX__
1363
+
1364
+ // Floating-point comparisons using built-in functions
1365
+ #if __HIP_DEFINE_EXTENDED_HOST_MIN_MAX__
1366
+ inline float min(float const __a, float const __b) {
1367
+ return __builtin_fminf(__a, __b);
1368
+ }
1369
+ inline double min(double const __a, double const __b) {
1370
+ return __builtin_fmin(__a, __b);
1371
+ }
1372
+ inline double min(float const __a, double const __b) {
1373
+ return __builtin_fmin(__a, __b);
1374
+ }
1375
+ inline double min(double const __a, float const __b) {
1376
+ return __builtin_fmin(__a, __b);
1316
1377
  }
1317
1378
 
1318
- __host__ inline static int max(int __arg1, int __arg2) {
1319
- return __arg1 > __arg2 ? __arg1 : __arg2;
1379
+ inline float max(float const __a, float const __b) {
1380
+ return __builtin_fmaxf(__a, __b);
1381
+ }
1382
+ inline double max(double const __a, double const __b) {
1383
+ return __builtin_fmax(__a, __b);
1320
1384
  }
1321
- #endif // !defined(__HIPCC_RTC__) && !defined(__OPENMP_AMDGCN__)
1385
+ inline double max(float const __a, double const __b) {
1386
+ return __builtin_fmax(__a, __b);
1387
+ }
1388
+ inline double max(double const __a, float const __b) {
1389
+ return __builtin_fmax(__a, __b);
1390
+ }
1391
+ #endif // if __HIP_DEFINE_EXTENDED_HOST_MIN_MAX__
1392
+
1393
+ #pragma pop_macro("DEFINE_MIN_MAX_FUNCTIONS")
1394
+
1395
+ #endif // !defined(__HIPCC_RTC__) && !defined(__OPENMP_AMDGCN__) &&
1396
+ // !defined(__HIP_NO_HOST_MIN_MAX_IN_GLOBAL_NAMESPACE__)
1322
1397
  #endif
1323
1398
 
1324
1399
  #pragma pop_macro("__DEVICE__")
1400
+ #pragma pop_macro("__PRIVATE_AS")
1325
1401
  #pragma pop_macro("__RETURN_TYPE")
1326
1402
  #pragma pop_macro("__FAST_OR_SLOW")
1327
1403
 
@@ -25,6 +25,9 @@
25
25
  #define __constant__ __attribute__((constant))
26
26
  #define __managed__ __attribute__((managed))
27
27
 
28
+ #define __cluster_dims__(...) __attribute__((cluster_dims(__VA_ARGS__)))
29
+ #define __no_cluster__ __attribute__((no_cluster))
30
+
28
31
  #if !defined(__cplusplus) || __cplusplus < 201103L
29
32
  #define nullptr NULL;
30
33
  #endif
@@ -125,11 +128,13 @@ typedef __SIZE_TYPE__ size_t;
125
128
  #pragma push_macro("uint64_t")
126
129
  #pragma push_macro("CHAR_BIT")
127
130
  #pragma push_macro("INT_MAX")
131
+ #pragma push_macro("INT_MIN")
128
132
  #define NULL (void *)0
129
133
  #define uint32_t __UINT32_TYPE__
130
134
  #define uint64_t __UINT64_TYPE__
131
135
  #define CHAR_BIT __CHAR_BIT__
132
136
  #define INT_MAX __INTMAX_MAX__
137
+ #define INT_MIN (-__INT_MAX__ - 1)
133
138
  #endif // __HIPCC_RTC__
134
139
 
135
140
  #include <__clang_hip_libdevice_declares.h>
@@ -154,6 +159,7 @@ typedef __SIZE_TYPE__ size_t;
154
159
  #pragma pop_macro("uint64_t")
155
160
  #pragma pop_macro("CHAR_BIT")
156
161
  #pragma pop_macro("INT_MAX")
162
+ #pragma pop_macro("INT_MIN")
157
163
  #endif // __HIPCC_RTC__
158
164
  #endif // __HIP__
159
165
  #endif // __CLANG_HIP_RUNTIME_WRAPPER_H__
@@ -0,0 +1,217 @@
1
+ /*===---- spirv_builtin_vars.h - SPIR-V built-in ---------------------------===
2
+ *
3
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
+ * See https://llvm.org/LICENSE.txt for license information.
5
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
+ *
7
+ *===-----------------------------------------------------------------------===
8
+ */
9
+
10
+ #ifndef __SPIRV_BUILTIN_VARS_H
11
+ #define __SPIRV_BUILTIN_VARS_H
12
+
13
+ #if __cplusplus >= 201103L
14
+ #define __SPIRV_NOEXCEPT noexcept
15
+ #else
16
+ #define __SPIRV_NOEXCEPT
17
+ #endif
18
+
19
+ #pragma push_macro("__size_t")
20
+ #pragma push_macro("__uint32_t")
21
+ #pragma push_macro("__uint64_t")
22
+ #define __size_t __SIZE_TYPE__
23
+ #define __uint32_t __UINT32_TYPE__
24
+
25
+ #define __SPIRV_overloadable __attribute__((overloadable))
26
+ #define __SPIRV_convergent __attribute__((convergent))
27
+ #define __SPIRV_inline __attribute__((always_inline))
28
+
29
+ #define __global __attribute__((opencl_global))
30
+ #define __local __attribute__((opencl_local))
31
+ #define __private __attribute__((opencl_private))
32
+ #define __constant __attribute__((opencl_constant))
33
+ #ifdef __SYCL_DEVICE_ONLY__
34
+ #define __generic
35
+ #else
36
+ #define __generic __attribute__((opencl_generic))
37
+ #endif
38
+
39
+ // Check if SPIR-V builtins are supported.
40
+ // As the translator doesn't use the LLVM intrinsics (which would be emitted if
41
+ // we use the SPIR-V builtins) we can't rely on the SPIRV32/SPIRV64 etc macros
42
+ // to establish if we can use the builtin alias. We disable builtin altogether
43
+ // if we do not intent to use the backend. So instead of use target macros, rely
44
+ // on a __has_builtin test.
45
+ #if (__has_builtin(__builtin_spirv_num_workgroups))
46
+ #define __SPIRV_BUILTIN_ALIAS(builtin) \
47
+ __attribute__((clang_builtin_alias(builtin)))
48
+ #else
49
+ #define __SPIRV_BUILTIN_ALIAS(builtin)
50
+ #endif
51
+
52
+ // Builtin IDs and sizes
53
+
54
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_num_workgroups) __size_t
55
+ __spirv_BuiltInNumWorkgroups(int);
56
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_workgroup_size) __size_t
57
+ __spirv_BuiltInWorkgroupSize(int);
58
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_workgroup_id) __size_t
59
+ __spirv_BuiltInWorkgroupId(int);
60
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_local_invocation_id) __size_t
61
+ __spirv_BuiltInLocalInvocationId(int);
62
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_global_invocation_id) __size_t
63
+ __spirv_BuiltInGlobalInvocationId(int);
64
+
65
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_global_size) __size_t
66
+ __spirv_BuiltInGlobalSize(int);
67
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_global_offset) __size_t
68
+ __spirv_BuiltInGlobalOffset(int);
69
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_size) __uint32_t
70
+ __spirv_BuiltInSubgroupSize();
71
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_max_size) __uint32_t
72
+ __spirv_BuiltInSubgroupMaxSize();
73
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_num_subgroups) __uint32_t
74
+ __spirv_BuiltInNumSubgroups();
75
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_id) __uint32_t
76
+ __spirv_BuiltInSubgroupId();
77
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_local_invocation_id)
78
+ __uint32_t __spirv_BuiltInSubgroupLocalInvocationId();
79
+
80
+ // OpGenericCastToPtrExplicit
81
+
82
+ extern __SPIRV_overloadable
83
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
84
+ __global void *__spirv_GenericCastToPtrExplicit_ToGlobal(__generic void *,
85
+ int) __SPIRV_NOEXCEPT;
86
+ extern __SPIRV_overloadable
87
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
88
+ __global const void *
89
+ __spirv_GenericCastToPtrExplicit_ToGlobal(__generic const void *,
90
+ int) __SPIRV_NOEXCEPT;
91
+ extern __SPIRV_overloadable
92
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
93
+ __global volatile void *
94
+ __spirv_GenericCastToPtrExplicit_ToGlobal(__generic volatile void *,
95
+ int) __SPIRV_NOEXCEPT;
96
+ extern __SPIRV_overloadable
97
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
98
+ __global const volatile void *
99
+ __spirv_GenericCastToPtrExplicit_ToGlobal(__generic const volatile void *,
100
+ int) __SPIRV_NOEXCEPT;
101
+ extern __SPIRV_overloadable
102
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
103
+ __local void *__spirv_GenericCastToPtrExplicit_ToLocal(__generic void *,
104
+ int) __SPIRV_NOEXCEPT;
105
+ extern __SPIRV_overloadable
106
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
107
+ __local const void *
108
+ __spirv_GenericCastToPtrExplicit_ToLocal(__generic const void *,
109
+ int) __SPIRV_NOEXCEPT;
110
+ extern __SPIRV_overloadable
111
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
112
+ __local volatile void *
113
+ __spirv_GenericCastToPtrExplicit_ToLocal(__generic volatile void *,
114
+ int) __SPIRV_NOEXCEPT;
115
+ extern __SPIRV_overloadable
116
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
117
+ __local const volatile void *
118
+ __spirv_GenericCastToPtrExplicit_ToLocal(__generic const volatile void *,
119
+ int) __SPIRV_NOEXCEPT;
120
+ extern __SPIRV_overloadable
121
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
122
+ __private void *
123
+ __spirv_GenericCastToPtrExplicit_ToPrivate(__generic void *,
124
+ int) __SPIRV_NOEXCEPT;
125
+ extern __SPIRV_overloadable
126
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
127
+ __private const void *
128
+ __spirv_GenericCastToPtrExplicit_ToPrivate(__generic const void *,
129
+ int) __SPIRV_NOEXCEPT;
130
+ extern __SPIRV_overloadable
131
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
132
+ __private volatile void *
133
+ __spirv_GenericCastToPtrExplicit_ToPrivate(__generic volatile void *,
134
+ int) __SPIRV_NOEXCEPT;
135
+ extern __SPIRV_overloadable
136
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
137
+ __private const volatile void *
138
+ __spirv_GenericCastToPtrExplicit_ToPrivate(__generic const volatile void *,
139
+ int) __SPIRV_NOEXCEPT;
140
+
141
+ // OpGenericCastToPtr
142
+
143
+ static __SPIRV_overloadable __SPIRV_inline __global void *
144
+ __spirv_GenericCastToPtr_ToGlobal(__generic void *p, int) __SPIRV_NOEXCEPT {
145
+ return (__global void *)p;
146
+ }
147
+ static __SPIRV_overloadable __SPIRV_inline __global const void *
148
+ __spirv_GenericCastToPtr_ToGlobal(__generic const void *p,
149
+ int) __SPIRV_NOEXCEPT {
150
+ return (__global const void *)p;
151
+ }
152
+ static __SPIRV_overloadable __SPIRV_inline __global volatile void *
153
+ __spirv_GenericCastToPtr_ToGlobal(__generic volatile void *p,
154
+ int) __SPIRV_NOEXCEPT {
155
+ return (__global volatile void *)p;
156
+ }
157
+ static __SPIRV_overloadable __SPIRV_inline __global const volatile void *
158
+ __spirv_GenericCastToPtr_ToGlobal(__generic const volatile void *p,
159
+ int) __SPIRV_NOEXCEPT {
160
+ return (__global const volatile void *)p;
161
+ }
162
+ static __SPIRV_overloadable __SPIRV_inline __local void *
163
+ __spirv_GenericCastToPtr_ToLocal(__generic void *p, int) __SPIRV_NOEXCEPT {
164
+ return (__local void *)p;
165
+ }
166
+ static __SPIRV_overloadable __SPIRV_inline __local const void *
167
+ __spirv_GenericCastToPtr_ToLocal(__generic const void *p,
168
+ int) __SPIRV_NOEXCEPT {
169
+ return (__local const void *)p;
170
+ }
171
+ static __SPIRV_overloadable __SPIRV_inline __local volatile void *
172
+ __spirv_GenericCastToPtr_ToLocal(__generic volatile void *p,
173
+ int) __SPIRV_NOEXCEPT {
174
+ return (__local volatile void *)p;
175
+ }
176
+ static __SPIRV_overloadable __SPIRV_inline __local const volatile void *
177
+ __spirv_GenericCastToPtr_ToLocal(__generic const volatile void *p,
178
+ int) __SPIRV_NOEXCEPT {
179
+ return (__local const volatile void *)p;
180
+ }
181
+ static __SPIRV_overloadable __SPIRV_inline __private void *
182
+ __spirv_GenericCastToPtr_ToPrivate(__generic void *p, int) __SPIRV_NOEXCEPT {
183
+ return (__private void *)p;
184
+ }
185
+ static __SPIRV_overloadable __SPIRV_inline __private const void *
186
+ __spirv_GenericCastToPtr_ToPrivate(__generic const void *p,
187
+ int) __SPIRV_NOEXCEPT {
188
+ return (__private const void *)p;
189
+ }
190
+ static __SPIRV_overloadable __SPIRV_inline __private volatile void *
191
+ __spirv_GenericCastToPtr_ToPrivate(__generic volatile void *p,
192
+ int) __SPIRV_NOEXCEPT {
193
+ return (__private volatile void *)p;
194
+ }
195
+ static __SPIRV_overloadable __SPIRV_inline __private const volatile void *
196
+ __spirv_GenericCastToPtr_ToPrivate(__generic const volatile void *p,
197
+ int) __SPIRV_NOEXCEPT {
198
+ return (__private const volatile void *)p;
199
+ }
200
+
201
+ #pragma pop_macro("__size_t")
202
+ #pragma pop_macro("__uint32_t")
203
+ #pragma pop_macro("__uint64_t")
204
+
205
+ #undef __SPIRV_overloadable
206
+ #undef __SPIRV_convergent
207
+ #undef __SPIRV_inline
208
+
209
+ #undef __global
210
+ #undef __local
211
+ #undef __constant
212
+ #undef __generic
213
+
214
+ #undef __SPIRV_BUILTIN_ALIAS
215
+ #undef __SPIRV_NOEXCEPT
216
+
217
+ #endif /* __SPIRV_BUILTIN_VARS_H */