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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_texture_intrinsics.h +2 -0
  4. package/lib/clang/{15.0.2 → 16}/include/__clang_hip_libdevice_declares.h +5 -0
  5. package/lib/clang/{15.0.2 → 16}/include/__clang_hip_math.h +10 -13
  6. package/lib/clang/{15.0.2 → 16}/include/__clang_hip_runtime_wrapper.h +1 -0
  7. package/lib/clang/16/include/__clang_hip_stdlib.h +43 -0
  8. package/lib/clang/{15.0.2 → 16}/include/altivec.h +14 -14
  9. package/lib/clang/16/include/amxfp16intrin.h +58 -0
  10. package/lib/clang/{15.0.2 → 16}/include/amxintrin.h +32 -0
  11. package/lib/clang/{15.0.2 → 16}/include/arm_acle.h +76 -75
  12. package/lib/clang/{15.0.2 → 16}/include/arm_fp16.h +1 -1
  13. package/lib/clang/{15.0.2 → 16}/include/arm_neon.h +26428 -26598
  14. package/lib/clang/{15.0.2 → 16}/include/arm_neon_sve_bridge.h +0 -2
  15. package/lib/clang/{15.0.2 → 16}/include/arm_sve.h +7784 -7936
  16. package/lib/clang/{15.0.2 → 16}/include/avx512bf16intrin.h +18 -15
  17. package/lib/clang/{15.0.2 → 16}/include/avx512fintrin.h +2 -2
  18. package/lib/clang/{15.0.2 → 16}/include/avx512fp16intrin.h +6 -9
  19. package/lib/clang/{15.0.2 → 16}/include/avx512ifmavlintrin.h +13 -27
  20. package/lib/clang/{15.0.2 → 16}/include/avx512vlbf16intrin.h +31 -38
  21. package/lib/clang/{15.0.2 → 16}/include/avx512vlbwintrin.h +352 -0
  22. package/lib/clang/{15.0.2 → 16}/include/avx512vlfp16intrin.h +3 -0
  23. package/lib/clang/16/include/avxifmaintrin.h +177 -0
  24. package/lib/clang/{15.0.2 → 16}/include/avxintrin.h +12 -2
  25. package/lib/clang/16/include/avxneconvertintrin.h +484 -0
  26. package/lib/clang/16/include/avxvnniint8intrin.h +471 -0
  27. package/lib/clang/16/include/cmpccxaddintrin.h +70 -0
  28. package/lib/clang/{15.0.2 → 16}/include/cpuid.h +11 -1
  29. package/lib/clang/16/include/cuda_wrappers/cmath +90 -0
  30. package/lib/clang/{15.0.2 → 16}/include/emmintrin.h +11 -1
  31. package/lib/clang/{15.0.2 → 16}/include/float.h +17 -10
  32. package/lib/clang/{15.0.2 → 16}/include/gfniintrin.h +7 -5
  33. package/lib/clang/{15.0.2 → 16}/include/hlsl/hlsl_basic_types.h +3 -0
  34. package/lib/clang/16/include/hlsl/hlsl_intrinsics.h +223 -0
  35. package/lib/clang/{15.0.2 → 16}/include/immintrin.h +41 -9
  36. package/lib/clang/16/include/larchintrin.h +234 -0
  37. package/lib/clang/{15.0.2 → 16}/include/limits.h +3 -2
  38. package/lib/clang/{15.0.2 → 16}/include/opencl-c-base.h +19 -0
  39. package/lib/clang/{15.0.2 → 16}/include/opencl-c.h +175 -145
  40. package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/emmintrin.h +2 -2
  41. package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/mm_malloc.h +1 -1
  42. package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/mmintrin.h +2 -2
  43. package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/pmmintrin.h +2 -2
  44. package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/smmintrin.h +2 -2
  45. package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/tmmintrin.h +2 -2
  46. package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/xmmintrin.h +2 -2
  47. package/lib/clang/16/include/prfchiintrin.h +61 -0
  48. package/lib/clang/16/include/raointintrin.h +203 -0
  49. package/lib/clang/{15.0.2 → 16}/include/riscv_vector.h +62 -53
  50. package/lib/clang/{15.0.2 → 16}/include/smmintrin.h +2 -2
  51. package/lib/clang/{15.0.2 → 16}/include/stdarg.h +23 -7
  52. package/lib/clang/{15.0.2 → 16}/include/stdatomic.h +6 -3
  53. package/lib/clang/{15.0.2 → 16}/include/stdbool.h +2 -2
  54. package/lib/clang/{15.0.2 → 16}/include/stddef.h +8 -1
  55. package/lib/clang/{15.0.2 → 16}/include/stdint.h +158 -40
  56. package/lib/clang/{15.0.2 → 16}/include/stdnoreturn.h +1 -1
  57. package/lib/clang/{15.0.2 → 16}/include/unwind.h +2 -1
  58. package/lib/clang/{15.0.2 → 16}/include/velintrin.h +1 -1
  59. package/lib/clang/{15.0.2 → 16}/include/x86gprintrin.h +19 -7
  60. package/lib/clang/{15.0.2 → 16}/include/xmmintrin.h +1 -2
  61. package/package.json +6 -6
  62. package/lib/clang/15.0.2/include/hlsl/hlsl_intrinsics.h +0 -15
  63. /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_builtin_vars.h +0 -0
  64. /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_cmath.h +0 -0
  65. /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_complex_builtins.h +0 -0
  66. /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_device_functions.h +0 -0
  67. /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_intrinsics.h +0 -0
  68. /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_libdevice_declares.h +0 -0
  69. /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_math.h +0 -0
  70. /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_math_forward_declares.h +0 -0
  71. /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_runtime_wrapper.h +0 -0
  72. /package/lib/clang/{15.0.2 → 16}/include/__clang_hip_cmath.h +0 -0
  73. /package/lib/clang/{15.0.2 → 16}/include/__stddef_max_align_t.h +0 -0
  74. /package/lib/clang/{15.0.2 → 16}/include/__wmmintrin_aes.h +0 -0
  75. /package/lib/clang/{15.0.2 → 16}/include/__wmmintrin_pclmul.h +0 -0
  76. /package/lib/clang/{15.0.2 → 16}/include/adxintrin.h +0 -0
  77. /package/lib/clang/{15.0.2 → 16}/include/ammintrin.h +0 -0
  78. /package/lib/clang/{15.0.2 → 16}/include/arm64intr.h +0 -0
  79. /package/lib/clang/{15.0.2 → 16}/include/arm_bf16.h +0 -0
  80. /package/lib/clang/{15.0.2 → 16}/include/arm_cde.h +0 -0
  81. /package/lib/clang/{15.0.2 → 16}/include/arm_cmse.h +0 -0
  82. /package/lib/clang/{15.0.2 → 16}/include/arm_mve.h +0 -0
  83. /package/lib/clang/{15.0.2 → 16}/include/armintr.h +0 -0
  84. /package/lib/clang/{15.0.2 → 16}/include/avx2intrin.h +0 -0
  85. /package/lib/clang/{15.0.2 → 16}/include/avx512bitalgintrin.h +0 -0
  86. /package/lib/clang/{15.0.2 → 16}/include/avx512bwintrin.h +0 -0
  87. /package/lib/clang/{15.0.2 → 16}/include/avx512cdintrin.h +0 -0
  88. /package/lib/clang/{15.0.2 → 16}/include/avx512dqintrin.h +0 -0
  89. /package/lib/clang/{15.0.2 → 16}/include/avx512erintrin.h +0 -0
  90. /package/lib/clang/{15.0.2 → 16}/include/avx512ifmaintrin.h +0 -0
  91. /package/lib/clang/{15.0.2 → 16}/include/avx512pfintrin.h +0 -0
  92. /package/lib/clang/{15.0.2 → 16}/include/avx512vbmi2intrin.h +0 -0
  93. /package/lib/clang/{15.0.2 → 16}/include/avx512vbmiintrin.h +0 -0
  94. /package/lib/clang/{15.0.2 → 16}/include/avx512vbmivlintrin.h +0 -0
  95. /package/lib/clang/{15.0.2 → 16}/include/avx512vlbitalgintrin.h +0 -0
  96. /package/lib/clang/{15.0.2 → 16}/include/avx512vlcdintrin.h +0 -0
  97. /package/lib/clang/{15.0.2 → 16}/include/avx512vldqintrin.h +0 -0
  98. /package/lib/clang/{15.0.2 → 16}/include/avx512vlintrin.h +0 -0
  99. /package/lib/clang/{15.0.2 → 16}/include/avx512vlvbmi2intrin.h +0 -0
  100. /package/lib/clang/{15.0.2 → 16}/include/avx512vlvnniintrin.h +0 -0
  101. /package/lib/clang/{15.0.2 → 16}/include/avx512vlvp2intersectintrin.h +0 -0
  102. /package/lib/clang/{15.0.2 → 16}/include/avx512vnniintrin.h +0 -0
  103. /package/lib/clang/{15.0.2 → 16}/include/avx512vp2intersectintrin.h +0 -0
  104. /package/lib/clang/{15.0.2 → 16}/include/avx512vpopcntdqintrin.h +0 -0
  105. /package/lib/clang/{15.0.2 → 16}/include/avx512vpopcntdqvlintrin.h +0 -0
  106. /package/lib/clang/{15.0.2 → 16}/include/avxvnniintrin.h +0 -0
  107. /package/lib/clang/{15.0.2 → 16}/include/bmi2intrin.h +0 -0
  108. /package/lib/clang/{15.0.2 → 16}/include/bmiintrin.h +0 -0
  109. /package/lib/clang/{15.0.2 → 16}/include/builtins.h +0 -0
  110. /package/lib/clang/{15.0.2 → 16}/include/cet.h +0 -0
  111. /package/lib/clang/{15.0.2 → 16}/include/cetintrin.h +0 -0
  112. /package/lib/clang/{15.0.2 → 16}/include/cldemoteintrin.h +0 -0
  113. /package/lib/clang/{15.0.2 → 16}/include/clflushoptintrin.h +0 -0
  114. /package/lib/clang/{15.0.2 → 16}/include/clwbintrin.h +0 -0
  115. /package/lib/clang/{15.0.2 → 16}/include/clzerointrin.h +0 -0
  116. /package/lib/clang/{15.0.2 → 16}/include/crc32intrin.h +0 -0
  117. /package/lib/clang/{15.0.2 → 16}/include/cuda_wrappers/algorithm +0 -0
  118. /package/lib/clang/{15.0.2 → 16}/include/cuda_wrappers/complex +0 -0
  119. /package/lib/clang/{15.0.2 → 16}/include/cuda_wrappers/new +0 -0
  120. /package/lib/clang/{15.0.2 → 16}/include/enqcmdintrin.h +0 -0
  121. /package/lib/clang/{15.0.2 → 16}/include/f16cintrin.h +0 -0
  122. /package/lib/clang/{15.0.2 → 16}/include/fma4intrin.h +0 -0
  123. /package/lib/clang/{15.0.2 → 16}/include/fmaintrin.h +0 -0
  124. /package/lib/clang/{15.0.2 → 16}/include/fxsrintrin.h +0 -0
  125. /package/lib/clang/{15.0.2 → 16}/include/hexagon_circ_brev_intrinsics.h +0 -0
  126. /package/lib/clang/{15.0.2 → 16}/include/hexagon_protos.h +0 -0
  127. /package/lib/clang/{15.0.2 → 16}/include/hexagon_types.h +0 -0
  128. /package/lib/clang/{15.0.2 → 16}/include/hlsl.h +0 -0
  129. /package/lib/clang/{15.0.2 → 16}/include/hresetintrin.h +0 -0
  130. /package/lib/clang/{15.0.2 → 16}/include/htmintrin.h +0 -0
  131. /package/lib/clang/{15.0.2 → 16}/include/htmxlintrin.h +0 -0
  132. /package/lib/clang/{15.0.2 → 16}/include/hvx_hexagon_protos.h +0 -0
  133. /package/lib/clang/{15.0.2 → 16}/include/ia32intrin.h +0 -0
  134. /package/lib/clang/{15.0.2 → 16}/include/intrin.h +0 -0
  135. /package/lib/clang/{15.0.2 → 16}/include/inttypes.h +0 -0
  136. /package/lib/clang/{15.0.2 → 16}/include/invpcidintrin.h +0 -0
  137. /package/lib/clang/{15.0.2 → 16}/include/iso646.h +0 -0
  138. /package/lib/clang/{15.0.2 → 16}/include/keylockerintrin.h +0 -0
  139. /package/lib/clang/{15.0.2 → 16}/include/lwpintrin.h +0 -0
  140. /package/lib/clang/{15.0.2 → 16}/include/lzcntintrin.h +0 -0
  141. /package/lib/clang/{15.0.2 → 16}/include/mm3dnow.h +0 -0
  142. /package/lib/clang/{15.0.2 → 16}/include/mm_malloc.h +0 -0
  143. /package/lib/clang/{15.0.2 → 16}/include/mmintrin.h +0 -0
  144. /package/lib/clang/{15.0.2 → 16}/include/module.modulemap +0 -0
  145. /package/lib/clang/{15.0.2 → 16}/include/movdirintrin.h +0 -0
  146. /package/lib/clang/{15.0.2 → 16}/include/msa.h +0 -0
  147. /package/lib/clang/{15.0.2 → 16}/include/mwaitxintrin.h +0 -0
  148. /package/lib/clang/{15.0.2 → 16}/include/nmmintrin.h +0 -0
  149. /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
  150. /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/cmath +0 -0
  151. /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/complex +0 -0
  152. /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/complex.h +0 -0
  153. /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/complex_cmath.h +0 -0
  154. /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/math.h +0 -0
  155. /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/new +0 -0
  156. /package/lib/clang/{15.0.2 → 16}/include/pconfigintrin.h +0 -0
  157. /package/lib/clang/{15.0.2 → 16}/include/pkuintrin.h +0 -0
  158. /package/lib/clang/{15.0.2 → 16}/include/pmmintrin.h +0 -0
  159. /package/lib/clang/{15.0.2 → 16}/include/popcntintrin.h +0 -0
  160. /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/bmi2intrin.h +0 -0
  161. /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/bmiintrin.h +0 -0
  162. /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/immintrin.h +0 -0
  163. /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/x86gprintrin.h +0 -0
  164. /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/x86intrin.h +0 -0
  165. /package/lib/clang/{15.0.2 → 16}/include/prfchwintrin.h +0 -0
  166. /package/lib/clang/{15.0.2 → 16}/include/ptwriteintrin.h +0 -0
  167. /package/lib/clang/{15.0.2 → 16}/include/rdpruintrin.h +0 -0
  168. /package/lib/clang/{15.0.2 → 16}/include/rdseedintrin.h +0 -0
  169. /package/lib/clang/{15.0.2 → 16}/include/rtmintrin.h +0 -0
  170. /package/lib/clang/{15.0.2 → 16}/include/s390intrin.h +0 -0
  171. /package/lib/clang/{15.0.2 → 16}/include/serializeintrin.h +0 -0
  172. /package/lib/clang/{15.0.2 → 16}/include/sgxintrin.h +0 -0
  173. /package/lib/clang/{15.0.2 → 16}/include/shaintrin.h +0 -0
  174. /package/lib/clang/{15.0.2 → 16}/include/stdalign.h +0 -0
  175. /package/lib/clang/{15.0.2 → 16}/include/tbmintrin.h +0 -0
  176. /package/lib/clang/{15.0.2 → 16}/include/tgmath.h +0 -0
  177. /package/lib/clang/{15.0.2 → 16}/include/tmmintrin.h +0 -0
  178. /package/lib/clang/{15.0.2 → 16}/include/tsxldtrkintrin.h +0 -0
  179. /package/lib/clang/{15.0.2 → 16}/include/uintrintrin.h +0 -0
  180. /package/lib/clang/{15.0.2 → 16}/include/vadefs.h +0 -0
  181. /package/lib/clang/{15.0.2 → 16}/include/vaesintrin.h +0 -0
  182. /package/lib/clang/{15.0.2 → 16}/include/varargs.h +0 -0
  183. /package/lib/clang/{15.0.2 → 16}/include/vecintrin.h +0 -0
  184. /package/lib/clang/{15.0.2 → 16}/include/velintrin_approx.h +0 -0
  185. /package/lib/clang/{15.0.2 → 16}/include/velintrin_gen.h +0 -0
  186. /package/lib/clang/{15.0.2 → 16}/include/vpclmulqdqintrin.h +0 -0
  187. /package/lib/clang/{15.0.2 → 16}/include/waitpkgintrin.h +0 -0
  188. /package/lib/clang/{15.0.2 → 16}/include/wasm_simd128.h +0 -0
  189. /package/lib/clang/{15.0.2 → 16}/include/wbnoinvdintrin.h +0 -0
  190. /package/lib/clang/{15.0.2 → 16}/include/wmmintrin.h +0 -0
  191. /package/lib/clang/{15.0.2 → 16}/include/x86intrin.h +0 -0
  192. /package/lib/clang/{15.0.2 → 16}/include/xopintrin.h +0 -0
  193. /package/lib/clang/{15.0.2 → 16}/include/xsavecintrin.h +0 -0
  194. /package/lib/clang/{15.0.2 → 16}/include/xsaveintrin.h +0 -0
  195. /package/lib/clang/{15.0.2 → 16}/include/xsaveoptintrin.h +0 -0
  196. /package/lib/clang/{15.0.2 → 16}/include/xsavesintrin.h +0 -0
  197. /package/lib/clang/{15.0.2 → 16}/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 15.0.2, for [`@cpp-linter/clang-tidy`](https://www.npmjs.com/package/@cpp-linter/clang-tidy).
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).
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-15.0.2-2`](https://github.com/cpp-linter/clang-tools-static-binaries/releases/tag/llvm-15.0.2-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-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`).
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/bin/clang-tidy.exe
3
- size: 51731456 bytes
4
- sha256: 18a01006e07c9ece3d8697f9233f4cda5ab17d8bb7c76f5600e2567bc1b19599
3
+ size: 56313344 bytes
4
+ sha256: ab529f465e647397c98f2f5d18189d95c4b6d90b88da9133efdf63231d4a9c8c
@@ -666,6 +666,7 @@ __device__ static void __tex_fetch(__T *__ptr, cudaTextureObject_t __handle,
666
666
  __tex_fetch_v4<__op>::template __run<__FetchT>(__handle, __args...));
667
667
  }
668
668
 
669
+ #if CUDA_VERSION < 12000
669
670
  // texture<> objects get magically converted into a texture reference. However,
670
671
  // there's no way to convert them to cudaTextureObject_t on C++ level. So, we
671
672
  // cheat a bit and use inline assembly to do it. It costs us an extra register
@@ -713,6 +714,7 @@ __tex_fetch(__DataT *, __RetT *__ptr,
713
714
  __tex_fetch_v4<__op>::template __run<__FetchT>(
714
715
  __tex_handle_to_obj(__handle), __args...));
715
716
  }
717
+ #endif // CUDA_VERSION
716
718
  } // namespace __cuda_tex
717
719
  } // namespace
718
720
  #pragma pop_macro("__ASM_OUT")
@@ -288,12 +288,17 @@ __llvm_amdgcn_rsq_f64(double __x) {
288
288
 
289
289
  __device__ __attribute__((const)) _Float16 __ocml_ceil_f16(_Float16);
290
290
  __device__ _Float16 __ocml_cos_f16(_Float16);
291
+ __device__ __attribute__((const)) _Float16 __ocml_cvtrtn_f16_f32(float);
292
+ __device__ __attribute__((const)) _Float16 __ocml_cvtrtp_f16_f32(float);
293
+ __device__ __attribute__((const)) _Float16 __ocml_cvtrtz_f16_f32(float);
291
294
  __device__ __attribute__((pure)) _Float16 __ocml_exp_f16(_Float16);
292
295
  __device__ __attribute__((pure)) _Float16 __ocml_exp10_f16(_Float16);
293
296
  __device__ __attribute__((pure)) _Float16 __ocml_exp2_f16(_Float16);
294
297
  __device__ __attribute__((const)) _Float16 __ocml_floor_f16(_Float16);
295
298
  __device__ __attribute__((const)) _Float16 __ocml_fma_f16(_Float16, _Float16,
296
299
  _Float16);
300
+ __device__ __attribute__((const)) _Float16 __ocml_fmax_f16(_Float16, _Float16);
301
+ __device__ __attribute__((const)) _Float16 __ocml_fmin_f16(_Float16, _Float16);
297
302
  __device__ __attribute__((const)) _Float16 __ocml_fabs_f16(_Float16);
298
303
  __device__ __attribute__((const)) int __ocml_isinf_f16(_Float16);
299
304
  __device__ __attribute__((const)) int __ocml_isnan_f16(_Float16);
@@ -70,9 +70,9 @@ __DEVICE__ void __static_assert_equal_size() {
70
70
  #endif
71
71
 
72
72
  __DEVICE__
73
- uint64_t __make_mantissa_base8(const char *__tagp) {
73
+ uint64_t __make_mantissa_base8(const char *__tagp __attribute__((nonnull))) {
74
74
  uint64_t __r = 0;
75
- while (__tagp) {
75
+ while (*__tagp != '\0') {
76
76
  char __tmp = *__tagp;
77
77
 
78
78
  if (__tmp >= '0' && __tmp <= '7')
@@ -87,9 +87,9 @@ uint64_t __make_mantissa_base8(const char *__tagp) {
87
87
  }
88
88
 
89
89
  __DEVICE__
90
- uint64_t __make_mantissa_base10(const char *__tagp) {
90
+ uint64_t __make_mantissa_base10(const char *__tagp __attribute__((nonnull))) {
91
91
  uint64_t __r = 0;
92
- while (__tagp) {
92
+ while (*__tagp != '\0') {
93
93
  char __tmp = *__tagp;
94
94
 
95
95
  if (__tmp >= '0' && __tmp <= '9')
@@ -104,9 +104,9 @@ uint64_t __make_mantissa_base10(const char *__tagp) {
104
104
  }
105
105
 
106
106
  __DEVICE__
107
- uint64_t __make_mantissa_base16(const char *__tagp) {
107
+ uint64_t __make_mantissa_base16(const char *__tagp __attribute__((nonnull))) {
108
108
  uint64_t __r = 0;
109
- while (__tagp) {
109
+ while (*__tagp != '\0') {
110
110
  char __tmp = *__tagp;
111
111
 
112
112
  if (__tmp >= '0' && __tmp <= '9')
@@ -125,10 +125,7 @@ uint64_t __make_mantissa_base16(const char *__tagp) {
125
125
  }
126
126
 
127
127
  __DEVICE__
128
- uint64_t __make_mantissa(const char *__tagp) {
129
- if (!__tagp)
130
- return 0u;
131
-
128
+ uint64_t __make_mantissa(const char *__tagp __attribute__((nonnull))) {
132
129
  if (*__tagp == '0') {
133
130
  ++__tagp;
134
131
 
@@ -233,7 +230,7 @@ __DEVICE__
233
230
  float expm1f(float __x) { return __ocml_expm1_f32(__x); }
234
231
 
235
232
  __DEVICE__
236
- float fabsf(float __x) { return __ocml_fabs_f32(__x); }
233
+ float fabsf(float __x) { return __builtin_fabsf(__x); }
237
234
 
238
235
  __DEVICE__
239
236
  float fdimf(float __x, float __y) { return __ocml_fdim_f32(__x, __y); }
@@ -359,7 +356,7 @@ float modff(float __x, float *__iptr) {
359
356
  }
360
357
 
361
358
  __DEVICE__
362
- float nanf(const char *__tagp) {
359
+ float nanf(const char *__tagp __attribute__((nonnull))) {
363
360
  union {
364
361
  float val;
365
362
  struct ieee_float {
@@ -792,7 +789,7 @@ __DEVICE__
792
789
  double expm1(double __x) { return __ocml_expm1_f64(__x); }
793
790
 
794
791
  __DEVICE__
795
- double fabs(double __x) { return __ocml_fabs_f64(__x); }
792
+ double fabs(double __x) { return __builtin_fabs(__x); }
796
793
 
797
794
  __DEVICE__
798
795
  double fdim(double __x, double __y) { return __ocml_fdim_f64(__x, __y); }
@@ -113,6 +113,7 @@ __attribute__((weak)) inline __device__ void free(void *__ptr) {
113
113
 
114
114
  #include <__clang_hip_libdevice_declares.h>
115
115
  #include <__clang_hip_math.h>
116
+ #include <__clang_hip_stdlib.h>
116
117
 
117
118
  #if defined(__HIPCC_RTC__)
118
119
  #include <__clang_hip_cmath.h>
@@ -0,0 +1,43 @@
1
+ /*===---- __clang_hip_stdlib.h - Device-side HIP math support --------------===
2
+ *
3
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
+ * See https://llvm.org/LICENSE.txt for license information.
5
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
+ *
7
+ *===-----------------------------------------------------------------------===
8
+ */
9
+ #ifndef __CLANG_HIP_STDLIB_H__
10
+
11
+ #if !defined(__HIP__) && !defined(__OPENMP_AMDGCN__)
12
+ #error "This file is for HIP and OpenMP AMDGCN device compilation only."
13
+ #endif
14
+
15
+ #if !defined(__cplusplus)
16
+
17
+ #include <limits.h>
18
+
19
+ #ifdef __OPENMP_AMDGCN__
20
+ #define __DEVICE__ static inline __attribute__((always_inline, nothrow))
21
+ #else
22
+ #define __DEVICE__ static __device__ inline __attribute__((always_inline))
23
+ #endif
24
+
25
+ __DEVICE__
26
+ int abs(int __x) {
27
+ int __sgn = __x >> (sizeof(int) * CHAR_BIT - 1);
28
+ return (__x ^ __sgn) - __sgn;
29
+ }
30
+ __DEVICE__
31
+ long labs(long __x) {
32
+ long __sgn = __x >> (sizeof(long) * CHAR_BIT - 1);
33
+ return (__x ^ __sgn) - __sgn;
34
+ }
35
+ __DEVICE__
36
+ long long llabs(long long __x) {
37
+ long long __sgn = __x >> (sizeof(long long) * CHAR_BIT - 1);
38
+ return (__x ^ __sgn) - __sgn;
39
+ }
40
+
41
+ #endif // !defined(__cplusplus)
42
+
43
+ #endif // #define __CLANG_HIP_STDLIB_H__
@@ -17323,32 +17323,32 @@ provided.
17323
17323
  #define vec_ncipherlast_be __builtin_altivec_crypto_vncipherlast
17324
17324
 
17325
17325
  #ifdef __VSX__
17326
- static __inline__ vector unsigned long long __attribute__((__always_inline__))
17327
- __builtin_crypto_vsbox(vector unsigned long long __a) {
17326
+ static __inline__ vector unsigned char __attribute__((__always_inline__))
17327
+ __builtin_crypto_vsbox(vector unsigned char __a) {
17328
17328
  return __builtin_altivec_crypto_vsbox(__a);
17329
17329
  }
17330
17330
 
17331
- static __inline__ vector unsigned long long __attribute__((__always_inline__))
17332
- __builtin_crypto_vcipher(vector unsigned long long __a,
17333
- vector unsigned long long __b) {
17331
+ static __inline__ vector unsigned char __attribute__((__always_inline__))
17332
+ __builtin_crypto_vcipher(vector unsigned char __a,
17333
+ vector unsigned char __b) {
17334
17334
  return __builtin_altivec_crypto_vcipher(__a, __b);
17335
17335
  }
17336
17336
 
17337
- static __inline__ vector unsigned long long __attribute__((__always_inline__))
17338
- __builtin_crypto_vcipherlast(vector unsigned long long __a,
17339
- vector unsigned long long __b) {
17337
+ static __inline__ vector unsigned char __attribute__((__always_inline__))
17338
+ __builtin_crypto_vcipherlast(vector unsigned char __a,
17339
+ vector unsigned char __b) {
17340
17340
  return __builtin_altivec_crypto_vcipherlast(__a, __b);
17341
17341
  }
17342
17342
 
17343
- static __inline__ vector unsigned long long __attribute__((__always_inline__))
17344
- __builtin_crypto_vncipher(vector unsigned long long __a,
17345
- vector unsigned long long __b) {
17343
+ static __inline__ vector unsigned char __attribute__((__always_inline__))
17344
+ __builtin_crypto_vncipher(vector unsigned char __a,
17345
+ vector unsigned char __b) {
17346
17346
  return __builtin_altivec_crypto_vncipher(__a, __b);
17347
17347
  }
17348
17348
 
17349
- static __inline__ vector unsigned long long __attribute__((__always_inline__))
17350
- __builtin_crypto_vncipherlast(vector unsigned long long __a,
17351
- vector unsigned long long __b) {
17349
+ static __inline__ vector unsigned char __attribute__((__always_inline__))
17350
+ __builtin_crypto_vncipherlast(vector unsigned char __a,
17351
+ vector unsigned char __b) {
17352
17352
  return __builtin_altivec_crypto_vncipherlast(__a, __b);
17353
17353
  }
17354
17354
  #endif /* __VSX__ */
@@ -0,0 +1,58 @@
1
+ /*===------------- amxfp16intrin.h - AMX_FP16 intrinsics -*- C++ -*---------===
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 __IMMINTRIN_H
11
+ #error "Never use <amxfp16intrin.h> directly; use <immintrin.h> instead."
12
+ #endif /* __IMMINTRIN_H */
13
+
14
+ #ifndef __AMX_FP16INTRIN_H
15
+ #define __AMX_FP16INTRIN_H
16
+ #ifdef __x86_64__
17
+
18
+ /// Compute dot-product of FP16 (16-bit) floating-point pairs in tiles \a a
19
+ /// and \a b, accumulating the intermediate single-precision (32-bit)
20
+ /// floating-point elements with elements in \a dst, and store the 32-bit
21
+ /// result back to tile \a dst.
22
+ ///
23
+ /// \headerfile <immintrin.h>
24
+ ///
25
+ /// \code
26
+ /// void _tile_dpfp16ps (__tile dst, __tile a, __tile b)
27
+ /// \endcode
28
+ ///
29
+ /// \code{.operation}
30
+ /// FOR m := 0 TO dst.rows - 1
31
+ /// tmp := dst.row[m]
32
+ /// FOR k := 0 TO (a.colsb / 4) - 1
33
+ /// FOR n := 0 TO (dst.colsb / 4) - 1
34
+ /// tmp.fp32[n] += FP32(a.row[m].fp16[2*k+0]) *
35
+ /// FP32(b.row[k].fp16[2*n+0])
36
+ /// tmp.fp32[n] += FP32(a.row[m].fp16[2*k+1]) *
37
+ /// FP32(b.row[k].fp16[2*n+1])
38
+ /// ENDFOR
39
+ /// ENDFOR
40
+ /// write_row_and_zero(dst, m, tmp, dst.colsb)
41
+ /// ENDFOR
42
+ /// zero_upper_rows(dst, dst.rows)
43
+ /// zero_tileconfig_start()
44
+ /// \endcode
45
+ ///
46
+ /// This intrinsic corresponds to the \c TDPFP16PS instruction.
47
+ ///
48
+ /// \param dst
49
+ /// The destination tile. Max size is 1024 Bytes.
50
+ /// \param a
51
+ /// The 1st source tile. Max size is 1024 Bytes.
52
+ /// \param b
53
+ /// The 2nd source tile. Max size is 1024 Bytes.
54
+ #define _tile_dpfp16ps(dst, a, b) \
55
+ __builtin_ia32_tdpfp16ps(dst, a, b)
56
+
57
+ #endif /* __x86_64__ */
58
+ #endif /* __AMX_FP16INTRIN_H */
@@ -22,6 +22,8 @@
22
22
  __attribute__((__always_inline__, __nodebug__, __target__("amx-int8")))
23
23
  #define __DEFAULT_FN_ATTRS_BF16 \
24
24
  __attribute__((__always_inline__, __nodebug__, __target__("amx-bf16")))
25
+ #define __DEFAULT_FN_ATTRS_FP16 \
26
+ __attribute__((__always_inline__, __nodebug__, __target__("amx-fp16")))
25
27
 
26
28
  /// Load tile configuration from a 64-byte memory location specified by
27
29
  /// "mem_addr". The tile configuration includes the tile type palette, the
@@ -290,6 +292,13 @@ _tile_dpbf16ps_internal(unsigned short m, unsigned short n, unsigned short k,
290
292
  return __builtin_ia32_tdpbf16ps_internal(m, n, k, dst, src1, src2);
291
293
  }
292
294
 
295
+ /// This is internal intrinsic. C/C++ user should avoid calling it directly.
296
+ static __inline__ _tile1024i __DEFAULT_FN_ATTRS_FP16
297
+ _tile_dpfp16ps_internal(unsigned short m, unsigned short n, unsigned short k,
298
+ _tile1024i dst, _tile1024i src1, _tile1024i src2) {
299
+ return __builtin_ia32_tdpfp16ps_internal(m, n, k, dst, src1, src2);
300
+ }
301
+
293
302
  /// This struct pack the shape and tile data together for user. We suggest
294
303
  /// initializing the struct as early as possible, because compiler depends
295
304
  /// on the shape information to do configure. The constant value is preferred
@@ -484,9 +493,32 @@ static __inline__ void __tile_dpbf16ps(__tile1024i *dst, __tile1024i src0,
484
493
  src0.tile, src1.tile);
485
494
  }
486
495
 
496
+ /// Compute dot-product of FP16 (16-bit) floating-point pairs in tiles src0 and
497
+ /// src1, accumulating the intermediate single-precision (32-bit) floating-point
498
+ /// elements with elements in "dst", and store the 32-bit result back to tile
499
+ /// "dst".
500
+ ///
501
+ /// \headerfile <immintrin.h>
502
+ ///
503
+ /// This intrinsic corresponds to the <c> TDPFP16PS </c> instruction.
504
+ ///
505
+ /// \param dst
506
+ /// The destination tile. Max size is 1024 Bytes.
507
+ /// \param src0
508
+ /// The 1st source tile. Max size is 1024 Bytes.
509
+ /// \param src1
510
+ /// The 2nd source tile. Max size is 1024 Bytes.
511
+ __DEFAULT_FN_ATTRS_FP16
512
+ static __inline__ void __tile_dpfp16ps(__tile1024i *dst, __tile1024i src0,
513
+ __tile1024i src1) {
514
+ dst->tile = _tile_dpfp16ps_internal(src0.row, src1.col, src0.col, dst->tile,
515
+ src0.tile, src1.tile);
516
+ }
517
+
487
518
  #undef __DEFAULT_FN_ATTRS_TILE
488
519
  #undef __DEFAULT_FN_ATTRS_INT8
489
520
  #undef __DEFAULT_FN_ATTRS_BF16
521
+ #undef __DEFAULT_FN_ATTRS_FP16
490
522
 
491
523
  #endif /* __x86_64__ */
492
524
  #endif /* __AMXINTRIN_H */