@cpp-linter/clang-tidy-win32-x64 16.0.3 → 17.0.6

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 (222) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/{16 → 17}/include/__clang_cuda_intrinsics.h +191 -0
  4. package/lib/clang/{16 → 17}/include/__clang_cuda_math.h +1 -1
  5. package/lib/clang/{16 → 17}/include/__clang_hip_cmath.h +1 -1
  6. package/lib/clang/{16 → 17}/include/__clang_hip_libdevice_declares.h +32 -30
  7. package/lib/clang/{16 → 17}/include/__clang_hip_math.h +56 -71
  8. package/lib/clang/{16 → 17}/include/__clang_hip_runtime_wrapper.h +13 -0
  9. package/lib/clang/17/include/adxintrin.h +227 -0
  10. package/lib/clang/{16 → 17}/include/altivec.h +136 -124
  11. package/lib/clang/17/include/amxcomplexintrin.h +169 -0
  12. package/lib/clang/{16 → 17}/include/arm_acle.h +13 -9
  13. package/lib/clang/{16 → 17}/include/arm_neon.h +164 -1
  14. package/lib/clang/17/include/arm_sme_draft_spec_subject_to_change.h +642 -0
  15. package/lib/clang/{16 → 17}/include/arm_sve.h +68 -13
  16. package/lib/clang/17/include/avx2intrin.h +5263 -0
  17. package/lib/clang/{16 → 17}/include/avx512fintrin.h +17 -7
  18. package/lib/clang/{16 → 17}/include/avx512fp16intrin.h +12 -8
  19. package/lib/clang/{16 → 17}/include/avxintrin.h +20 -7
  20. package/lib/clang/17/include/avxvnniint16intrin.h +473 -0
  21. package/lib/clang/17/include/bmi2intrin.h +255 -0
  22. package/lib/clang/{16 → 17}/include/clflushoptintrin.h +9 -0
  23. package/lib/clang/{16 → 17}/include/clzerointrin.h +7 -5
  24. package/lib/clang/17/include/cuda_wrappers/bits/basic_string.h +9 -0
  25. package/lib/clang/17/include/cuda_wrappers/bits/basic_string.tcc +9 -0
  26. package/lib/clang/17/include/cuda_wrappers/bits/shared_ptr_base.h +9 -0
  27. package/lib/clang/17/include/fmaintrin.h +780 -0
  28. package/lib/clang/17/include/hlsl/hlsl_intrinsics.h +480 -0
  29. package/lib/clang/{16 → 17}/include/immintrin.h +116 -8
  30. package/lib/clang/{16 → 17}/include/limits.h +5 -1
  31. package/lib/clang/17/include/llvm_libc_wrappers/ctype.h +85 -0
  32. package/lib/clang/17/include/llvm_libc_wrappers/inttypes.h +34 -0
  33. package/lib/clang/17/include/llvm_libc_wrappers/stdio.h +34 -0
  34. package/lib/clang/17/include/llvm_libc_wrappers/stdlib.h +42 -0
  35. package/lib/clang/17/include/llvm_libc_wrappers/string.h +37 -0
  36. package/lib/clang/17/include/mwaitxintrin.h +62 -0
  37. package/lib/clang/{16 → 17}/include/opencl-c-base.h +3 -0
  38. package/lib/clang/{16 → 17}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -1
  39. package/lib/clang/{16 → 17}/include/openmp_wrappers/new +1 -1
  40. package/lib/clang/{16 → 17}/include/pmmintrin.h +12 -6
  41. package/lib/clang/{16 → 17}/include/ppc_wrappers/emmintrin.h +2 -1
  42. package/lib/clang/{16 → 17}/include/ppc_wrappers/smmintrin.h +2 -2
  43. package/lib/clang/17/include/rdseedintrin.h +105 -0
  44. package/lib/clang/17/include/riscv_ntlh.h +28 -0
  45. package/lib/clang/17/include/riscv_vector.h +400 -0
  46. package/lib/clang/17/include/sha512intrin.h +200 -0
  47. package/lib/clang/17/include/shaintrin.h +189 -0
  48. package/lib/clang/17/include/sifive_vector.h +16 -0
  49. package/lib/clang/17/include/sm3intrin.h +238 -0
  50. package/lib/clang/17/include/sm4intrin.h +269 -0
  51. package/lib/clang/{16 → 17}/include/stdalign.h +5 -0
  52. package/lib/clang/{16 → 17}/include/stdatomic.h +9 -2
  53. package/lib/clang/{16 → 17}/include/stddef.h +5 -0
  54. package/lib/clang/{16 → 17}/include/wasm_simd128.h +132 -12
  55. package/lib/clang/17/include/xsavecintrin.h +84 -0
  56. package/package.json +6 -6
  57. package/lib/clang/16/include/adxintrin.h +0 -72
  58. package/lib/clang/16/include/avx2intrin.h +0 -1148
  59. package/lib/clang/16/include/bmi2intrin.h +0 -81
  60. package/lib/clang/16/include/fmaintrin.h +0 -216
  61. package/lib/clang/16/include/hlsl/hlsl_intrinsics.h +0 -223
  62. package/lib/clang/16/include/mwaitxintrin.h +0 -33
  63. package/lib/clang/16/include/rdseedintrin.h +0 -42
  64. package/lib/clang/16/include/riscv_vector.h +0 -211
  65. package/lib/clang/16/include/shaintrin.h +0 -61
  66. package/lib/clang/16/include/xsavecintrin.h +0 -34
  67. /package/lib/clang/{16 → 17}/include/__clang_cuda_builtin_vars.h +0 -0
  68. /package/lib/clang/{16 → 17}/include/__clang_cuda_cmath.h +0 -0
  69. /package/lib/clang/{16 → 17}/include/__clang_cuda_complex_builtins.h +0 -0
  70. /package/lib/clang/{16 → 17}/include/__clang_cuda_device_functions.h +0 -0
  71. /package/lib/clang/{16 → 17}/include/__clang_cuda_libdevice_declares.h +0 -0
  72. /package/lib/clang/{16 → 17}/include/__clang_cuda_math_forward_declares.h +0 -0
  73. /package/lib/clang/{16 → 17}/include/__clang_cuda_runtime_wrapper.h +0 -0
  74. /package/lib/clang/{16 → 17}/include/__clang_cuda_texture_intrinsics.h +0 -0
  75. /package/lib/clang/{16 → 17}/include/__clang_hip_stdlib.h +0 -0
  76. /package/lib/clang/{16 → 17}/include/__stddef_max_align_t.h +0 -0
  77. /package/lib/clang/{16 → 17}/include/__wmmintrin_aes.h +0 -0
  78. /package/lib/clang/{16 → 17}/include/__wmmintrin_pclmul.h +0 -0
  79. /package/lib/clang/{16 → 17}/include/ammintrin.h +0 -0
  80. /package/lib/clang/{16 → 17}/include/amxfp16intrin.h +0 -0
  81. /package/lib/clang/{16 → 17}/include/amxintrin.h +0 -0
  82. /package/lib/clang/{16 → 17}/include/arm64intr.h +0 -0
  83. /package/lib/clang/{16 → 17}/include/arm_bf16.h +0 -0
  84. /package/lib/clang/{16 → 17}/include/arm_cde.h +0 -0
  85. /package/lib/clang/{16 → 17}/include/arm_cmse.h +0 -0
  86. /package/lib/clang/{16 → 17}/include/arm_fp16.h +0 -0
  87. /package/lib/clang/{16 → 17}/include/arm_mve.h +0 -0
  88. /package/lib/clang/{16 → 17}/include/arm_neon_sve_bridge.h +0 -0
  89. /package/lib/clang/{16 → 17}/include/armintr.h +0 -0
  90. /package/lib/clang/{16 → 17}/include/avx512bf16intrin.h +0 -0
  91. /package/lib/clang/{16 → 17}/include/avx512bitalgintrin.h +0 -0
  92. /package/lib/clang/{16 → 17}/include/avx512bwintrin.h +0 -0
  93. /package/lib/clang/{16 → 17}/include/avx512cdintrin.h +0 -0
  94. /package/lib/clang/{16 → 17}/include/avx512dqintrin.h +0 -0
  95. /package/lib/clang/{16 → 17}/include/avx512erintrin.h +0 -0
  96. /package/lib/clang/{16 → 17}/include/avx512ifmaintrin.h +0 -0
  97. /package/lib/clang/{16 → 17}/include/avx512ifmavlintrin.h +0 -0
  98. /package/lib/clang/{16 → 17}/include/avx512pfintrin.h +0 -0
  99. /package/lib/clang/{16 → 17}/include/avx512vbmi2intrin.h +0 -0
  100. /package/lib/clang/{16 → 17}/include/avx512vbmiintrin.h +0 -0
  101. /package/lib/clang/{16 → 17}/include/avx512vbmivlintrin.h +0 -0
  102. /package/lib/clang/{16 → 17}/include/avx512vlbf16intrin.h +0 -0
  103. /package/lib/clang/{16 → 17}/include/avx512vlbitalgintrin.h +0 -0
  104. /package/lib/clang/{16 → 17}/include/avx512vlbwintrin.h +0 -0
  105. /package/lib/clang/{16 → 17}/include/avx512vlcdintrin.h +0 -0
  106. /package/lib/clang/{16 → 17}/include/avx512vldqintrin.h +0 -0
  107. /package/lib/clang/{16 → 17}/include/avx512vlfp16intrin.h +0 -0
  108. /package/lib/clang/{16 → 17}/include/avx512vlintrin.h +0 -0
  109. /package/lib/clang/{16 → 17}/include/avx512vlvbmi2intrin.h +0 -0
  110. /package/lib/clang/{16 → 17}/include/avx512vlvnniintrin.h +0 -0
  111. /package/lib/clang/{16 → 17}/include/avx512vlvp2intersectintrin.h +0 -0
  112. /package/lib/clang/{16 → 17}/include/avx512vnniintrin.h +0 -0
  113. /package/lib/clang/{16 → 17}/include/avx512vp2intersectintrin.h +0 -0
  114. /package/lib/clang/{16 → 17}/include/avx512vpopcntdqintrin.h +0 -0
  115. /package/lib/clang/{16 → 17}/include/avx512vpopcntdqvlintrin.h +0 -0
  116. /package/lib/clang/{16 → 17}/include/avxifmaintrin.h +0 -0
  117. /package/lib/clang/{16 → 17}/include/avxneconvertintrin.h +0 -0
  118. /package/lib/clang/{16 → 17}/include/avxvnniint8intrin.h +0 -0
  119. /package/lib/clang/{16 → 17}/include/avxvnniintrin.h +0 -0
  120. /package/lib/clang/{16 → 17}/include/bmiintrin.h +0 -0
  121. /package/lib/clang/{16 → 17}/include/builtins.h +0 -0
  122. /package/lib/clang/{16 → 17}/include/cet.h +0 -0
  123. /package/lib/clang/{16 → 17}/include/cetintrin.h +0 -0
  124. /package/lib/clang/{16 → 17}/include/cldemoteintrin.h +0 -0
  125. /package/lib/clang/{16 → 17}/include/clwbintrin.h +0 -0
  126. /package/lib/clang/{16 → 17}/include/cmpccxaddintrin.h +0 -0
  127. /package/lib/clang/{16 → 17}/include/cpuid.h +0 -0
  128. /package/lib/clang/{16 → 17}/include/crc32intrin.h +0 -0
  129. /package/lib/clang/{16 → 17}/include/cuda_wrappers/algorithm +0 -0
  130. /package/lib/clang/{16 → 17}/include/cuda_wrappers/cmath +0 -0
  131. /package/lib/clang/{16 → 17}/include/cuda_wrappers/complex +0 -0
  132. /package/lib/clang/{16 → 17}/include/cuda_wrappers/new +0 -0
  133. /package/lib/clang/{16 → 17}/include/emmintrin.h +0 -0
  134. /package/lib/clang/{16 → 17}/include/enqcmdintrin.h +0 -0
  135. /package/lib/clang/{16 → 17}/include/f16cintrin.h +0 -0
  136. /package/lib/clang/{16 → 17}/include/float.h +0 -0
  137. /package/lib/clang/{16 → 17}/include/fma4intrin.h +0 -0
  138. /package/lib/clang/{16 → 17}/include/fxsrintrin.h +0 -0
  139. /package/lib/clang/{16 → 17}/include/gfniintrin.h +0 -0
  140. /package/lib/clang/{16 → 17}/include/hexagon_circ_brev_intrinsics.h +0 -0
  141. /package/lib/clang/{16 → 17}/include/hexagon_protos.h +0 -0
  142. /package/lib/clang/{16 → 17}/include/hexagon_types.h +0 -0
  143. /package/lib/clang/{16 → 17}/include/hlsl/hlsl_basic_types.h +0 -0
  144. /package/lib/clang/{16 → 17}/include/hlsl.h +0 -0
  145. /package/lib/clang/{16 → 17}/include/hresetintrin.h +0 -0
  146. /package/lib/clang/{16 → 17}/include/htmintrin.h +0 -0
  147. /package/lib/clang/{16 → 17}/include/htmxlintrin.h +0 -0
  148. /package/lib/clang/{16 → 17}/include/hvx_hexagon_protos.h +0 -0
  149. /package/lib/clang/{16 → 17}/include/ia32intrin.h +0 -0
  150. /package/lib/clang/{16 → 17}/include/intrin.h +0 -0
  151. /package/lib/clang/{16 → 17}/include/inttypes.h +0 -0
  152. /package/lib/clang/{16 → 17}/include/invpcidintrin.h +0 -0
  153. /package/lib/clang/{16 → 17}/include/iso646.h +0 -0
  154. /package/lib/clang/{16 → 17}/include/keylockerintrin.h +0 -0
  155. /package/lib/clang/{16 → 17}/include/larchintrin.h +0 -0
  156. /package/lib/clang/{16 → 17}/include/lwpintrin.h +0 -0
  157. /package/lib/clang/{16 → 17}/include/lzcntintrin.h +0 -0
  158. /package/lib/clang/{16 → 17}/include/mm3dnow.h +0 -0
  159. /package/lib/clang/{16 → 17}/include/mm_malloc.h +0 -0
  160. /package/lib/clang/{16 → 17}/include/mmintrin.h +0 -0
  161. /package/lib/clang/{16 → 17}/include/module.modulemap +0 -0
  162. /package/lib/clang/{16 → 17}/include/movdirintrin.h +0 -0
  163. /package/lib/clang/{16 → 17}/include/msa.h +0 -0
  164. /package/lib/clang/{16 → 17}/include/nmmintrin.h +0 -0
  165. /package/lib/clang/{16 → 17}/include/opencl-c.h +0 -0
  166. /package/lib/clang/{16 → 17}/include/openmp_wrappers/cmath +0 -0
  167. /package/lib/clang/{16 → 17}/include/openmp_wrappers/complex +0 -0
  168. /package/lib/clang/{16 → 17}/include/openmp_wrappers/complex.h +0 -0
  169. /package/lib/clang/{16 → 17}/include/openmp_wrappers/complex_cmath.h +0 -0
  170. /package/lib/clang/{16 → 17}/include/openmp_wrappers/math.h +0 -0
  171. /package/lib/clang/{16 → 17}/include/pconfigintrin.h +0 -0
  172. /package/lib/clang/{16 → 17}/include/pkuintrin.h +0 -0
  173. /package/lib/clang/{16 → 17}/include/popcntintrin.h +0 -0
  174. /package/lib/clang/{16 → 17}/include/ppc_wrappers/bmi2intrin.h +0 -0
  175. /package/lib/clang/{16 → 17}/include/ppc_wrappers/bmiintrin.h +0 -0
  176. /package/lib/clang/{16 → 17}/include/ppc_wrappers/immintrin.h +0 -0
  177. /package/lib/clang/{16 → 17}/include/ppc_wrappers/mm_malloc.h +0 -0
  178. /package/lib/clang/{16 → 17}/include/ppc_wrappers/mmintrin.h +0 -0
  179. /package/lib/clang/{16 → 17}/include/ppc_wrappers/pmmintrin.h +0 -0
  180. /package/lib/clang/{16 → 17}/include/ppc_wrappers/tmmintrin.h +0 -0
  181. /package/lib/clang/{16 → 17}/include/ppc_wrappers/x86gprintrin.h +0 -0
  182. /package/lib/clang/{16 → 17}/include/ppc_wrappers/x86intrin.h +0 -0
  183. /package/lib/clang/{16 → 17}/include/ppc_wrappers/xmmintrin.h +0 -0
  184. /package/lib/clang/{16 → 17}/include/prfchiintrin.h +0 -0
  185. /package/lib/clang/{16 → 17}/include/prfchwintrin.h +0 -0
  186. /package/lib/clang/{16 → 17}/include/ptwriteintrin.h +0 -0
  187. /package/lib/clang/{16 → 17}/include/raointintrin.h +0 -0
  188. /package/lib/clang/{16 → 17}/include/rdpruintrin.h +0 -0
  189. /package/lib/clang/{16 → 17}/include/rtmintrin.h +0 -0
  190. /package/lib/clang/{16 → 17}/include/s390intrin.h +0 -0
  191. /package/lib/clang/{16 → 17}/include/serializeintrin.h +0 -0
  192. /package/lib/clang/{16 → 17}/include/sgxintrin.h +0 -0
  193. /package/lib/clang/{16 → 17}/include/smmintrin.h +0 -0
  194. /package/lib/clang/{16 → 17}/include/stdarg.h +0 -0
  195. /package/lib/clang/{16 → 17}/include/stdbool.h +0 -0
  196. /package/lib/clang/{16 → 17}/include/stdint.h +0 -0
  197. /package/lib/clang/{16 → 17}/include/stdnoreturn.h +0 -0
  198. /package/lib/clang/{16 → 17}/include/tbmintrin.h +0 -0
  199. /package/lib/clang/{16 → 17}/include/tgmath.h +0 -0
  200. /package/lib/clang/{16 → 17}/include/tmmintrin.h +0 -0
  201. /package/lib/clang/{16 → 17}/include/tsxldtrkintrin.h +0 -0
  202. /package/lib/clang/{16 → 17}/include/uintrintrin.h +0 -0
  203. /package/lib/clang/{16 → 17}/include/unwind.h +0 -0
  204. /package/lib/clang/{16 → 17}/include/vadefs.h +0 -0
  205. /package/lib/clang/{16 → 17}/include/vaesintrin.h +0 -0
  206. /package/lib/clang/{16 → 17}/include/varargs.h +0 -0
  207. /package/lib/clang/{16 → 17}/include/vecintrin.h +0 -0
  208. /package/lib/clang/{16 → 17}/include/velintrin.h +0 -0
  209. /package/lib/clang/{16 → 17}/include/velintrin_approx.h +0 -0
  210. /package/lib/clang/{16 → 17}/include/velintrin_gen.h +0 -0
  211. /package/lib/clang/{16 → 17}/include/vpclmulqdqintrin.h +0 -0
  212. /package/lib/clang/{16 → 17}/include/waitpkgintrin.h +0 -0
  213. /package/lib/clang/{16 → 17}/include/wbnoinvdintrin.h +0 -0
  214. /package/lib/clang/{16 → 17}/include/wmmintrin.h +0 -0
  215. /package/lib/clang/{16 → 17}/include/x86gprintrin.h +0 -0
  216. /package/lib/clang/{16 → 17}/include/x86intrin.h +0 -0
  217. /package/lib/clang/{16 → 17}/include/xmmintrin.h +0 -0
  218. /package/lib/clang/{16 → 17}/include/xopintrin.h +0 -0
  219. /package/lib/clang/{16 → 17}/include/xsaveintrin.h +0 -0
  220. /package/lib/clang/{16 → 17}/include/xsaveoptintrin.h +0 -0
  221. /package/lib/clang/{16 → 17}/include/xsavesintrin.h +0 -0
  222. /package/lib/clang/{16 → 17}/include/xtestintrin.h +0 -0
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # @cpp-linter/clang-tidy-win32-x64
2
2
 
3
- The Windows x64 binary of clang-tidy from LLVM 16.0.3, for [`@cpp-linter/clang-tidy`](https://www.npmjs.com/package/@cpp-linter/clang-tidy).
3
+ The Windows x64 binary of clang-tidy from LLVM 17.0.6, for [`@cpp-linter/clang-tidy`](https://www.npmjs.com/package/@cpp-linter/clang-tidy).
4
4
 
5
5
  Install `@cpp-linter/clang-tidy` instead of this package: npm picks the binary for your platform.
6
6
 
7
- The binary is a static build from the release [`llvm-16.0.3-2`](https://github.com/cpp-linter/clang-tools-static-binaries/releases/tag/llvm-16.0.3-2) of [cpp-linter/clang-tools-static-binaries](https://github.com/cpp-linter/clang-tools-static-binaries). LLVM is licensed under the Apache License v2.0 with LLVM Exceptions (see `LICENSE.TXT`).
7
+ The binary is a static build from the release [`llvm-17.0.6-2`](https://github.com/cpp-linter/clang-tools-static-binaries/releases/tag/llvm-17.0.6-2) of [cpp-linter/clang-tools-static-binaries](https://github.com/cpp-linter/clang-tools-static-binaries). LLVM is licensed under the Apache License v2.0 with LLVM Exceptions (see `LICENSE.TXT`).
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/bin/clang-tidy.exe
3
- size: 56313344 bytes
4
- sha256: ab529f465e647397c98f2f5d18189d95c4b6d90b88da9133efdf63231d4a9c8c
3
+ size: 55870464 bytes
4
+ sha256: 0fd441c2bf8cfcd841e9f304d4a96ec73295115de82bc7aeb71bb6ec42f1dc33
@@ -513,6 +513,197 @@ __device__ inline cuuint32_t __nvvm_get_smem_pointer(void *__ptr) {
513
513
  return __nv_cvta_generic_to_shared_impl(__ptr);
514
514
  }
515
515
  } // extern "C"
516
+
517
+ #if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 800
518
+ __device__ inline unsigned __reduce_add_sync(unsigned __mask,
519
+ unsigned __value) {
520
+ return __nvvm_redux_sync_add(__mask, __value);
521
+ }
522
+ __device__ inline unsigned __reduce_min_sync(unsigned __mask,
523
+ unsigned __value) {
524
+ return __nvvm_redux_sync_umin(__mask, __value);
525
+ }
526
+ __device__ inline unsigned __reduce_max_sync(unsigned __mask,
527
+ unsigned __value) {
528
+ return __nvvm_redux_sync_umax(__mask, __value);
529
+ }
530
+ __device__ inline int __reduce_min_sync(unsigned __mask, int __value) {
531
+ return __nvvm_redux_sync_min(__mask, __value);
532
+ }
533
+ __device__ inline int __reduce_max_sync(unsigned __mask, int __value) {
534
+ return __nvvm_redux_sync_max(__mask, __value);
535
+ }
536
+ __device__ inline unsigned __reduce_or_sync(unsigned __mask, unsigned __value) {
537
+ return __nvvm_redux_sync_or(__mask, __value);
538
+ }
539
+ __device__ inline unsigned __reduce_and_sync(unsigned __mask,
540
+ unsigned __value) {
541
+ return __nvvm_redux_sync_and(__mask, __value);
542
+ }
543
+ __device__ inline unsigned __reduce_xor_sync(unsigned __mask,
544
+ unsigned __value) {
545
+ return __nvvm_redux_sync_xor(__mask, __value);
546
+ }
547
+
548
+ __device__ inline void __nv_memcpy_async_shared_global_4(void *__dst,
549
+ const void *__src,
550
+ unsigned __src_size) {
551
+ __nvvm_cp_async_ca_shared_global_4(
552
+ (void __attribute__((address_space(3))) *)__dst,
553
+ (const void __attribute__((address_space(1))) *)__src, __src_size);
554
+ }
555
+ __device__ inline void __nv_memcpy_async_shared_global_8(void *__dst,
556
+ const void *__src,
557
+ unsigned __src_size) {
558
+ __nvvm_cp_async_ca_shared_global_8(
559
+ (void __attribute__((address_space(3))) *)__dst,
560
+ (const void __attribute__((address_space(1))) *)__src, __src_size);
561
+ }
562
+ __device__ inline void __nv_memcpy_async_shared_global_16(void *__dst,
563
+ const void *__src,
564
+ unsigned __src_size) {
565
+ __nvvm_cp_async_ca_shared_global_16(
566
+ (void __attribute__((address_space(3))) *)__dst,
567
+ (const void __attribute__((address_space(1))) *)__src, __src_size);
568
+ }
569
+
570
+ __device__ inline void *
571
+ __nv_associate_access_property(const void *__ptr, unsigned long long __prop) {
572
+ // TODO: it appears to provide compiler with some sort of a hint. We do not
573
+ // know what exactly it is supposed to do. However, CUDA headers suggest that
574
+ // just passing through __ptr should not affect correctness. They do so on
575
+ // pre-sm80 GPUs where this builtin is not available.
576
+ return (void*)__ptr;
577
+ }
578
+ #endif // !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 800
579
+
580
+ #if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 900
581
+ __device__ inline unsigned __isCtaShared(const void *ptr) {
582
+ return __isShared(ptr);
583
+ }
584
+
585
+ __device__ inline unsigned __isClusterShared(const void *__ptr) {
586
+ return __nvvm_isspacep_shared_cluster(__ptr);
587
+ }
588
+
589
+ __device__ inline void *__cluster_map_shared_rank(const void *__ptr,
590
+ unsigned __rank) {
591
+ return __nvvm_mapa((void *)__ptr, __rank);
592
+ }
593
+
594
+ __device__ inline unsigned __cluster_query_shared_rank(const void *__ptr) {
595
+ return __nvvm_getctarank((void *)__ptr);
596
+ }
597
+
598
+ __device__ inline uint2
599
+ __cluster_map_shared_multicast(const void *__ptr,
600
+ unsigned int __cluster_cta_mask) {
601
+ return make_uint2((unsigned)__cvta_generic_to_shared(__ptr),
602
+ __cluster_cta_mask);
603
+ }
604
+
605
+ __device__ inline unsigned __clusterDimIsSpecified() {
606
+ return __nvvm_is_explicit_cluster();
607
+ }
608
+
609
+ __device__ inline dim3 __clusterDim() {
610
+ return dim3(__nvvm_read_ptx_sreg_cluster_nctaid_x(),
611
+ __nvvm_read_ptx_sreg_cluster_nctaid_y(),
612
+ __nvvm_read_ptx_sreg_cluster_nctaid_z());
613
+ }
614
+
615
+ __device__ inline dim3 __clusterRelativeBlockIdx() {
616
+ return dim3(__nvvm_read_ptx_sreg_cluster_ctaid_x(),
617
+ __nvvm_read_ptx_sreg_cluster_ctaid_y(),
618
+ __nvvm_read_ptx_sreg_cluster_ctaid_z());
619
+ }
620
+
621
+ __device__ inline dim3 __clusterGridDimInClusters() {
622
+ return dim3(__nvvm_read_ptx_sreg_nclusterid_x(),
623
+ __nvvm_read_ptx_sreg_nclusterid_y(),
624
+ __nvvm_read_ptx_sreg_nclusterid_z());
625
+ }
626
+
627
+ __device__ inline dim3 __clusterIdx() {
628
+ return dim3(__nvvm_read_ptx_sreg_clusterid_x(),
629
+ __nvvm_read_ptx_sreg_clusterid_y(),
630
+ __nvvm_read_ptx_sreg_clusterid_z());
631
+ }
632
+
633
+ __device__ inline unsigned __clusterRelativeBlockRank() {
634
+ return __nvvm_read_ptx_sreg_cluster_ctarank();
635
+ }
636
+
637
+ __device__ inline unsigned __clusterSizeInBlocks() {
638
+ return __nvvm_read_ptx_sreg_cluster_nctarank();
639
+ }
640
+
641
+ __device__ inline void __cluster_barrier_arrive() {
642
+ __nvvm_barrier_cluster_arrive();
643
+ }
644
+
645
+ __device__ inline void __cluster_barrier_arrive_relaxed() {
646
+ __nvvm_barrier_cluster_arrive_relaxed();
647
+ }
648
+
649
+ __device__ inline void __cluster_barrier_wait() {
650
+ __nvvm_barrier_cluster_wait();
651
+ }
652
+
653
+ __device__ inline void __threadfence_cluster() { __nvvm_fence_sc_cluster(); }
654
+
655
+ __device__ inline float2 atomicAdd(float2 *__ptr, float2 __val) {
656
+ float2 __ret;
657
+ __asm__("atom.add.v2.f32 {%0, %1}, [%2], {%3, %4};"
658
+ : "=f"(__ret.x), "=f"(__ret.y)
659
+ : "l"(__ptr), "f"(__val.x), "f"(__val.y));
660
+ return __ret;
661
+ }
662
+
663
+ __device__ inline float2 atomicAdd_block(float2 *__ptr, float2 __val) {
664
+ float2 __ret;
665
+ __asm__("atom.cta.add.v2.f32 {%0, %1}, [%2], {%3, %4};"
666
+ : "=f"(__ret.x), "=f"(__ret.y)
667
+ : "l"(__ptr), "f"(__val.x), "f"(__val.y));
668
+ return __ret;
669
+ }
670
+
671
+ __device__ inline float2 atomicAdd_system(float2 *__ptr, float2 __val) {
672
+ float2 __ret;
673
+ __asm__("atom.sys.add.v2.f32 {%0, %1}, [%2], {%3, %4};"
674
+ : "=f"(__ret.x), "=f"(__ret.y)
675
+ : "l"(__ptr), "f"(__val.x), "f"(__val.y));
676
+ return __ret;
677
+ }
678
+
679
+ __device__ inline float4 atomicAdd(float4 *__ptr, float4 __val) {
680
+ float4 __ret;
681
+ __asm__("atom.add.v4.f32 {%0, %1, %2, %3}, [%4], {%5, %6, %7, %8};"
682
+ : "=f"(__ret.x), "=f"(__ret.y), "=f"(__ret.z), "=f"(__ret.w)
683
+ : "l"(__ptr), "f"(__val.x), "f"(__val.y), "f"(__val.z), "f"(__val.w));
684
+ return __ret;
685
+ }
686
+
687
+ __device__ inline float4 atomicAdd_block(float4 *__ptr, float4 __val) {
688
+ float4 __ret;
689
+ __asm__(
690
+ "atom.cta.add.v4.f32 {%0, %1, %2, %3}, [%4], {%5, %6, %7, %8};"
691
+ : "=f"(__ret.x), "=f"(__ret.y), "=f"(__ret.z), "=f"(__ret.w)
692
+ : "l"(__ptr), "f"(__val.x), "f"(__val.y), "f"(__val.z), "f"(__val.w));
693
+ return __ret;
694
+ }
695
+
696
+ __device__ inline float4 atomicAdd_system(float4 *__ptr, float4 __val) {
697
+ float4 __ret;
698
+ __asm__(
699
+ "atom.sys.add.v4.f32 {%0, %1, %2, %3}, [%4], {%5, %6, %7, %8};"
700
+ : "=f"(__ret.x), "=f"(__ret.y), "=f"(__ret.z), "=f"(__ret.w)
701
+ : "l"(__ptr), "f"(__val.x), "f"(__val.y), "f"(__val.z), "f"(__val.w)
702
+ :);
703
+ return __ret;
704
+ }
705
+
706
+ #endif // !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 900
516
707
  #endif // CUDA_VERSION >= 11000
517
708
 
518
709
  #endif // defined(__CLANG_CUDA_INTRINSICS_H__)
@@ -36,7 +36,7 @@
36
36
  // because the OpenMP overlay requires constexpr functions here but prior to
37
37
  // c++14 void return functions could not be constexpr.
38
38
  #pragma push_macro("__DEVICE_VOID__")
39
- #ifdef __OPENMP_NVPTX__ && defined(__cplusplus) && __cplusplus < 201402L
39
+ #if defined(__OPENMP_NVPTX__) && defined(__cplusplus) && __cplusplus < 201402L
40
40
  #define __DEVICE_VOID__ static __attribute__((always_inline, nothrow))
41
41
  #else
42
42
  #define __DEVICE_VOID__ __DEVICE__
@@ -171,7 +171,7 @@ __DEVICE__ __CONSTEXPR__ bool signbit(double __x) { return ::__signbit(__x); }
171
171
  // Other functions.
172
172
  __DEVICE__ __CONSTEXPR__ _Float16 fma(_Float16 __x, _Float16 __y,
173
173
  _Float16 __z) {
174
- return __ocml_fma_f16(__x, __y, __z);
174
+ return __builtin_fmaf16(__x, __y, __z);
175
175
  }
176
176
  __DEVICE__ __CONSTEXPR__ _Float16 pow(_Float16 __base, int __iexp) {
177
177
  return __ocml_pown_f16(__base, __iexp);
@@ -10,6 +10,10 @@
10
10
  #ifndef __CLANG_HIP_LIBDEVICE_DECLARES_H__
11
11
  #define __CLANG_HIP_LIBDEVICE_DECLARES_H__
12
12
 
13
+ #if !defined(__HIPCC_RTC__) && __has_include("hip/hip_version.h")
14
+ #include "hip/hip_version.h"
15
+ #endif // __has_include("hip/hip_version.h")
16
+
13
17
  #ifdef __cplusplus
14
18
  extern "C" {
15
19
  #endif
@@ -137,23 +141,6 @@ __device__ __attribute__((const)) float __ocml_fma_rte_f32(float, float, float);
137
141
  __device__ __attribute__((const)) float __ocml_fma_rtn_f32(float, float, float);
138
142
  __device__ __attribute__((const)) float __ocml_fma_rtp_f32(float, float, float);
139
143
  __device__ __attribute__((const)) float __ocml_fma_rtz_f32(float, float, float);
140
-
141
- __device__ inline __attribute__((const)) float
142
- __llvm_amdgcn_cos_f32(float __x) {
143
- return __builtin_amdgcn_cosf(__x);
144
- }
145
- __device__ inline __attribute__((const)) float
146
- __llvm_amdgcn_rcp_f32(float __x) {
147
- return __builtin_amdgcn_rcpf(__x);
148
- }
149
- __device__ inline __attribute__((const)) float
150
- __llvm_amdgcn_rsq_f32(float __x) {
151
- return __builtin_amdgcn_rsqf(__x);
152
- }
153
- __device__ inline __attribute__((const)) float
154
- __llvm_amdgcn_sin_f32(float __x) {
155
- return __builtin_amdgcn_sinf(__x);
156
- }
157
144
  // END INTRINSICS
158
145
  // END FLOAT
159
146
 
@@ -277,15 +264,6 @@ __device__ __attribute__((const)) double __ocml_fma_rtp_f64(double, double,
277
264
  __device__ __attribute__((const)) double __ocml_fma_rtz_f64(double, double,
278
265
  double);
279
266
 
280
- __device__ inline __attribute__((const)) double
281
- __llvm_amdgcn_rcp_f64(double __x) {
282
- return __builtin_amdgcn_rcp(__x);
283
- }
284
- __device__ inline __attribute__((const)) double
285
- __llvm_amdgcn_rsq_f64(double __x) {
286
- return __builtin_amdgcn_rsq(__x);
287
- }
288
-
289
267
  __device__ __attribute__((const)) _Float16 __ocml_ceil_f16(_Float16);
290
268
  __device__ _Float16 __ocml_cos_f16(_Float16);
291
269
  __device__ __attribute__((const)) _Float16 __ocml_cvtrtn_f16_f32(float);
@@ -305,7 +283,6 @@ __device__ __attribute__((const)) int __ocml_isnan_f16(_Float16);
305
283
  __device__ __attribute__((pure)) _Float16 __ocml_log_f16(_Float16);
306
284
  __device__ __attribute__((pure)) _Float16 __ocml_log10_f16(_Float16);
307
285
  __device__ __attribute__((pure)) _Float16 __ocml_log2_f16(_Float16);
308
- __device__ __attribute__((const)) _Float16 __llvm_amdgcn_rcp_f16(_Float16);
309
286
  __device__ __attribute__((const)) _Float16 __ocml_rint_f16(_Float16);
310
287
  __device__ __attribute__((const)) _Float16 __ocml_rsqrt_f16(_Float16);
311
288
  __device__ _Float16 __ocml_sin_f16(_Float16);
@@ -316,8 +293,15 @@ __device__ __attribute__((pure)) _Float16 __ocml_pown_f16(_Float16, int);
316
293
  typedef _Float16 __2f16 __attribute__((ext_vector_type(2)));
317
294
  typedef short __2i16 __attribute__((ext_vector_type(2)));
318
295
 
296
+ // We need to match C99's bool and get an i1 in the IR.
297
+ #ifdef __cplusplus
298
+ typedef bool __ockl_bool;
299
+ #else
300
+ typedef _Bool __ockl_bool;
301
+ #endif
302
+
319
303
  __device__ __attribute__((const)) float __ockl_fdot2(__2f16 a, __2f16 b,
320
- float c, bool s);
304
+ float c, __ockl_bool s);
321
305
  __device__ __attribute__((const)) __2f16 __ocml_ceil_2f16(__2f16);
322
306
  __device__ __attribute__((const)) __2f16 __ocml_fabs_2f16(__2f16);
323
307
  __device__ __2f16 __ocml_cos_2f16(__2f16);
@@ -332,11 +316,29 @@ __device__ __attribute__((const)) __2i16 __ocml_isnan_2f16(__2f16);
332
316
  __device__ __attribute__((pure)) __2f16 __ocml_log_2f16(__2f16);
333
317
  __device__ __attribute__((pure)) __2f16 __ocml_log10_2f16(__2f16);
334
318
  __device__ __attribute__((pure)) __2f16 __ocml_log2_2f16(__2f16);
319
+
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) / ")
335
334
  __device__ inline __2f16
336
- __llvm_amdgcn_rcp_2f16(__2f16 __x) // Not currently exposed by ROCDL.
335
+ __llvm_amdgcn_rcp_2f16(__2f16 __x)
337
336
  {
338
- return (__2f16)(__llvm_amdgcn_rcp_f16(__x.x), __llvm_amdgcn_rcp_f16(__x.y));
337
+ return ((__2f16)1.0f) / __x;
339
338
  }
339
+
340
+ #undef __DEPRECATED_SINCE_HIP_560
341
+
340
342
  __device__ __attribute__((const)) __2f16 __ocml_rint_2f16(__2f16);
341
343
  __device__ __attribute__((const)) __2f16 __ocml_rsqrt_2f16(__2f16);
342
344
  __device__ __2f16 __ocml_sin_2f16(__2f16);