@cpp-linter/clang-tidy-darwin-arm64 17.0.6 → 18.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 (242) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy +2 -2
  3. package/lib/clang/{17 → 18}/include/__clang_cuda_device_functions.h +2 -2
  4. package/lib/clang/{17 → 18}/include/__clang_cuda_libdevice_declares.h +2 -2
  5. package/lib/clang/{17 → 18}/include/__clang_cuda_math.h +2 -2
  6. package/lib/clang/{17 → 18}/include/__clang_cuda_runtime_wrapper.h +2 -2
  7. package/lib/clang/{17 → 18}/include/__clang_hip_math.h +192 -171
  8. package/lib/clang/{17 → 18}/include/__clang_hip_runtime_wrapper.h +34 -26
  9. package/lib/clang/18/include/__stdarg___gnuc_va_list.h +13 -0
  10. package/lib/clang/18/include/__stdarg___va_copy.h +12 -0
  11. package/lib/clang/18/include/__stdarg_va_arg.h +22 -0
  12. package/lib/clang/18/include/__stdarg_va_copy.h +12 -0
  13. package/lib/clang/18/include/__stdarg_va_list.h +13 -0
  14. package/lib/clang/{17 → 18}/include/__stddef_max_align_t.h +1 -1
  15. package/lib/clang/18/include/__stddef_null.h +29 -0
  16. package/lib/clang/18/include/__stddef_nullptr_t.h +29 -0
  17. package/lib/clang/18/include/__stddef_offsetof.h +17 -0
  18. package/lib/clang/18/include/__stddef_ptrdiff_t.h +20 -0
  19. package/lib/clang/18/include/__stddef_rsize_t.h +20 -0
  20. package/lib/clang/18/include/__stddef_size_t.h +20 -0
  21. package/lib/clang/18/include/__stddef_unreachable.h +21 -0
  22. package/lib/clang/18/include/__stddef_wchar_t.h +28 -0
  23. package/lib/clang/18/include/__stddef_wint_t.h +15 -0
  24. package/lib/clang/{17/include/adxintrin.h → 18/include/adcintrin.h} +27 -94
  25. package/lib/clang/18/include/adxintrin.h +102 -0
  26. package/lib/clang/{17 → 18}/include/altivec.h +31 -12
  27. package/lib/clang/{17 → 18}/include/ammintrin.h +4 -4
  28. package/lib/clang/{17 → 18}/include/arm_acle.h +111 -31
  29. package/lib/clang/{17 → 18}/include/arm_neon.h +85 -327
  30. package/lib/clang/18/include/arm_sme.h +2412 -0
  31. package/lib/clang/{17 → 18}/include/arm_sve.h +7386 -351
  32. package/lib/clang/18/include/arm_vector_types.h +345 -0
  33. package/lib/clang/{17 → 18}/include/avx2intrin.h +24 -3
  34. package/lib/clang/{17 → 18}/include/avx512bf16intrin.h +3 -2
  35. package/lib/clang/{17 → 18}/include/avx512bitalgintrin.h +4 -1
  36. package/lib/clang/{17 → 18}/include/avx512bwintrin.h +28 -38
  37. package/lib/clang/{17 → 18}/include/avx512cdintrin.h +3 -1
  38. package/lib/clang/{17 → 18}/include/avx512dqintrin.h +4 -2
  39. package/lib/clang/{17 → 18}/include/avx512fintrin.h +7 -3
  40. package/lib/clang/{17 → 18}/include/avx512fp16intrin.h +6 -4
  41. package/lib/clang/{17 → 18}/include/avx512ifmaintrin.h +3 -1
  42. package/lib/clang/{17 → 18}/include/avx512ifmavlintrin.h +8 -2
  43. package/lib/clang/{17 → 18}/include/avx512pfintrin.h +0 -5
  44. package/lib/clang/{17 → 18}/include/avx512vbmi2intrin.h +1 -1
  45. package/lib/clang/{17 → 18}/include/avx512vbmiintrin.h +3 -2
  46. package/lib/clang/{17 → 18}/include/avx512vbmivlintrin.h +8 -3
  47. package/lib/clang/{17 → 18}/include/avx512vlbf16intrin.h +8 -6
  48. package/lib/clang/{17 → 18}/include/avx512vlbitalgintrin.h +8 -2
  49. package/lib/clang/{17 → 18}/include/avx512vlbwintrin.h +8 -2
  50. package/lib/clang/{17 → 18}/include/avx512vlcdintrin.h +8 -3
  51. package/lib/clang/{17 → 18}/include/avx512vldqintrin.h +8 -2
  52. package/lib/clang/{17 → 18}/include/avx512vlfp16intrin.h +2 -2
  53. package/lib/clang/{17 → 18}/include/avx512vlintrin.h +8 -2
  54. package/lib/clang/{17 → 18}/include/avx512vlvbmi2intrin.h +8 -2
  55. package/lib/clang/{17 → 18}/include/avx512vlvnniintrin.h +8 -2
  56. package/lib/clang/{17 → 18}/include/avx512vlvp2intersectintrin.h +6 -4
  57. package/lib/clang/{17 → 18}/include/avx512vnniintrin.h +3 -2
  58. package/lib/clang/{17 → 18}/include/avx512vp2intersectintrin.h +3 -2
  59. package/lib/clang/{17 → 18}/include/avx512vpopcntdqintrin.h +3 -1
  60. package/lib/clang/{17 → 18}/include/avx512vpopcntdqvlintrin.h +6 -2
  61. package/lib/clang/{17 → 18}/include/avxintrin.h +9 -5
  62. package/lib/clang/{17 → 18}/include/bmiintrin.h +231 -46
  63. package/lib/clang/{17 → 18}/include/emmintrin.h +10 -10
  64. package/lib/clang/{17 → 18}/include/gfniintrin.h +23 -6
  65. package/lib/clang/18/include/hlsl/hlsl_intrinsics.h +624 -0
  66. package/lib/clang/18/include/ia32intrin.h +863 -0
  67. package/lib/clang/{17 → 18}/include/immintrin.h +66 -3
  68. package/lib/clang/{17 → 18}/include/intrin.h +16 -0
  69. package/lib/clang/{17 → 18}/include/larchintrin.h +13 -1
  70. package/lib/clang/18/include/lasxintrin.h +3884 -0
  71. package/lib/clang/{17 → 18}/include/limits.h +2 -4
  72. package/lib/clang/{17/include/llvm_libc_wrappers/stdio.h → 18/include/llvm_libc_wrappers/assert.h} +7 -7
  73. package/lib/clang/{17 → 18}/include/llvm_libc_wrappers/ctype.h +17 -0
  74. package/lib/clang/18/include/llvm_libc_wrappers/stdio.h +80 -0
  75. package/lib/clang/{17 → 18}/include/llvm_libc_wrappers/stdlib.h +4 -1
  76. package/lib/clang/18/include/llvm_libc_wrappers/string.h +96 -0
  77. package/lib/clang/{17/include/llvm_libc_wrappers/string.h → 18/include/llvm_libc_wrappers/time.h} +9 -12
  78. package/lib/clang/18/include/lsxintrin.h +3750 -0
  79. package/lib/clang/{17 → 18}/include/mmintrin.h +7 -5
  80. package/lib/clang/{17 → 18}/include/module.modulemap +155 -2
  81. package/lib/clang/{17 → 18}/include/opencl-c-base.h +5 -0
  82. package/lib/clang/{17 → 18}/include/openmp_wrappers/cmath +1 -1
  83. package/lib/clang/{17 → 18}/include/pmmintrin.h +3 -2
  84. package/lib/clang/18/include/ppc_wrappers/nmmintrin.h +26 -0
  85. package/lib/clang/{17 → 18}/include/ppc_wrappers/smmintrin.h +35 -15
  86. package/lib/clang/18/include/riscv_bitmanip.h +195 -0
  87. package/lib/clang/18/include/riscv_crypto.h +170 -0
  88. package/lib/clang/{17 → 18}/include/riscv_ntlh.h +3 -5
  89. package/lib/clang/{17 → 18}/include/riscv_vector.h +31 -0
  90. package/lib/clang/{17 → 18}/include/smmintrin.h +3 -3
  91. package/lib/clang/{17 → 18}/include/stdalign.h +1 -3
  92. package/lib/clang/18/include/stdarg.h +79 -0
  93. package/lib/clang/{17 → 18}/include/stdatomic.h +3 -5
  94. package/lib/clang/18/include/stdckdint.h +42 -0
  95. package/lib/clang/18/include/stddef.h +123 -0
  96. package/lib/clang/{17 → 18}/include/stdint.h +19 -48
  97. package/lib/clang/{17 → 18}/include/stdnoreturn.h +2 -2
  98. package/lib/clang/{17 → 18}/include/tmmintrin.h +7 -2
  99. package/lib/clang/18/include/usermsrintrin.h +51 -0
  100. package/lib/clang/{17 → 18}/include/vaesintrin.h +4 -2
  101. package/lib/clang/{17 → 18}/include/vecintrin.h +217 -199
  102. package/lib/clang/{17 → 18}/include/x86gprintrin.h +5 -0
  103. package/lib/clang/{17 → 18}/include/xmmintrin.h +9 -5
  104. package/package.json +6 -6
  105. package/lib/clang/17/include/arm_sme_draft_spec_subject_to_change.h +0 -642
  106. package/lib/clang/17/include/hlsl/hlsl_intrinsics.h +0 -480
  107. package/lib/clang/17/include/ia32intrin.h +0 -441
  108. package/lib/clang/17/include/stdarg.h +0 -51
  109. package/lib/clang/17/include/stddef.h +0 -133
  110. /package/lib/clang/{17 → 18}/include/__clang_cuda_builtin_vars.h +0 -0
  111. /package/lib/clang/{17 → 18}/include/__clang_cuda_cmath.h +0 -0
  112. /package/lib/clang/{17 → 18}/include/__clang_cuda_complex_builtins.h +0 -0
  113. /package/lib/clang/{17 → 18}/include/__clang_cuda_intrinsics.h +0 -0
  114. /package/lib/clang/{17 → 18}/include/__clang_cuda_math_forward_declares.h +0 -0
  115. /package/lib/clang/{17 → 18}/include/__clang_cuda_texture_intrinsics.h +0 -0
  116. /package/lib/clang/{17 → 18}/include/__clang_hip_cmath.h +0 -0
  117. /package/lib/clang/{17 → 18}/include/__clang_hip_libdevice_declares.h +0 -0
  118. /package/lib/clang/{17 → 18}/include/__clang_hip_stdlib.h +0 -0
  119. /package/lib/clang/{17 → 18}/include/__wmmintrin_aes.h +0 -0
  120. /package/lib/clang/{17 → 18}/include/__wmmintrin_pclmul.h +0 -0
  121. /package/lib/clang/{17 → 18}/include/amxcomplexintrin.h +0 -0
  122. /package/lib/clang/{17 → 18}/include/amxfp16intrin.h +0 -0
  123. /package/lib/clang/{17 → 18}/include/amxintrin.h +0 -0
  124. /package/lib/clang/{17 → 18}/include/arm64intr.h +0 -0
  125. /package/lib/clang/{17 → 18}/include/arm_bf16.h +0 -0
  126. /package/lib/clang/{17 → 18}/include/arm_cde.h +0 -0
  127. /package/lib/clang/{17 → 18}/include/arm_cmse.h +0 -0
  128. /package/lib/clang/{17 → 18}/include/arm_fp16.h +0 -0
  129. /package/lib/clang/{17 → 18}/include/arm_mve.h +0 -0
  130. /package/lib/clang/{17 → 18}/include/arm_neon_sve_bridge.h +0 -0
  131. /package/lib/clang/{17 → 18}/include/armintr.h +0 -0
  132. /package/lib/clang/{17 → 18}/include/avx512erintrin.h +0 -0
  133. /package/lib/clang/{17 → 18}/include/avxifmaintrin.h +0 -0
  134. /package/lib/clang/{17 → 18}/include/avxneconvertintrin.h +0 -0
  135. /package/lib/clang/{17 → 18}/include/avxvnniint16intrin.h +0 -0
  136. /package/lib/clang/{17 → 18}/include/avxvnniint8intrin.h +0 -0
  137. /package/lib/clang/{17 → 18}/include/avxvnniintrin.h +0 -0
  138. /package/lib/clang/{17 → 18}/include/bmi2intrin.h +0 -0
  139. /package/lib/clang/{17 → 18}/include/builtins.h +0 -0
  140. /package/lib/clang/{17 → 18}/include/cet.h +0 -0
  141. /package/lib/clang/{17 → 18}/include/cetintrin.h +0 -0
  142. /package/lib/clang/{17 → 18}/include/cldemoteintrin.h +0 -0
  143. /package/lib/clang/{17 → 18}/include/clflushoptintrin.h +0 -0
  144. /package/lib/clang/{17 → 18}/include/clwbintrin.h +0 -0
  145. /package/lib/clang/{17 → 18}/include/clzerointrin.h +0 -0
  146. /package/lib/clang/{17 → 18}/include/cmpccxaddintrin.h +0 -0
  147. /package/lib/clang/{17 → 18}/include/cpuid.h +0 -0
  148. /package/lib/clang/{17 → 18}/include/crc32intrin.h +0 -0
  149. /package/lib/clang/{17 → 18}/include/cuda_wrappers/algorithm +0 -0
  150. /package/lib/clang/{17 → 18}/include/cuda_wrappers/bits/basic_string.h +0 -0
  151. /package/lib/clang/{17 → 18}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
  152. /package/lib/clang/{17 → 18}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
  153. /package/lib/clang/{17 → 18}/include/cuda_wrappers/cmath +0 -0
  154. /package/lib/clang/{17 → 18}/include/cuda_wrappers/complex +0 -0
  155. /package/lib/clang/{17 → 18}/include/cuda_wrappers/new +0 -0
  156. /package/lib/clang/{17 → 18}/include/enqcmdintrin.h +0 -0
  157. /package/lib/clang/{17 → 18}/include/f16cintrin.h +0 -0
  158. /package/lib/clang/{17 → 18}/include/float.h +0 -0
  159. /package/lib/clang/{17 → 18}/include/fma4intrin.h +0 -0
  160. /package/lib/clang/{17 → 18}/include/fmaintrin.h +0 -0
  161. /package/lib/clang/{17 → 18}/include/fxsrintrin.h +0 -0
  162. /package/lib/clang/{17 → 18}/include/hexagon_circ_brev_intrinsics.h +0 -0
  163. /package/lib/clang/{17 → 18}/include/hexagon_protos.h +0 -0
  164. /package/lib/clang/{17 → 18}/include/hexagon_types.h +0 -0
  165. /package/lib/clang/{17 → 18}/include/hlsl/hlsl_basic_types.h +0 -0
  166. /package/lib/clang/{17 → 18}/include/hlsl.h +0 -0
  167. /package/lib/clang/{17 → 18}/include/hresetintrin.h +0 -0
  168. /package/lib/clang/{17 → 18}/include/htmintrin.h +0 -0
  169. /package/lib/clang/{17 → 18}/include/htmxlintrin.h +0 -0
  170. /package/lib/clang/{17 → 18}/include/hvx_hexagon_protos.h +0 -0
  171. /package/lib/clang/{17 → 18}/include/inttypes.h +0 -0
  172. /package/lib/clang/{17 → 18}/include/invpcidintrin.h +0 -0
  173. /package/lib/clang/{17 → 18}/include/iso646.h +0 -0
  174. /package/lib/clang/{17 → 18}/include/keylockerintrin.h +0 -0
  175. /package/lib/clang/{17 → 18}/include/llvm_libc_wrappers/inttypes.h +0 -0
  176. /package/lib/clang/{17 → 18}/include/lwpintrin.h +0 -0
  177. /package/lib/clang/{17 → 18}/include/lzcntintrin.h +0 -0
  178. /package/lib/clang/{17 → 18}/include/mm3dnow.h +0 -0
  179. /package/lib/clang/{17 → 18}/include/mm_malloc.h +0 -0
  180. /package/lib/clang/{17 → 18}/include/movdirintrin.h +0 -0
  181. /package/lib/clang/{17 → 18}/include/msa.h +0 -0
  182. /package/lib/clang/{17 → 18}/include/mwaitxintrin.h +0 -0
  183. /package/lib/clang/{17 → 18}/include/nmmintrin.h +0 -0
  184. /package/lib/clang/{17 → 18}/include/opencl-c.h +0 -0
  185. /package/lib/clang/{17 → 18}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
  186. /package/lib/clang/{17 → 18}/include/openmp_wrappers/complex +0 -0
  187. /package/lib/clang/{17 → 18}/include/openmp_wrappers/complex.h +0 -0
  188. /package/lib/clang/{17 → 18}/include/openmp_wrappers/complex_cmath.h +0 -0
  189. /package/lib/clang/{17 → 18}/include/openmp_wrappers/math.h +0 -0
  190. /package/lib/clang/{17 → 18}/include/openmp_wrappers/new +0 -0
  191. /package/lib/clang/{17 → 18}/include/pconfigintrin.h +0 -0
  192. /package/lib/clang/{17 → 18}/include/pkuintrin.h +0 -0
  193. /package/lib/clang/{17 → 18}/include/popcntintrin.h +0 -0
  194. /package/lib/clang/{17 → 18}/include/ppc_wrappers/bmi2intrin.h +0 -0
  195. /package/lib/clang/{17 → 18}/include/ppc_wrappers/bmiintrin.h +0 -0
  196. /package/lib/clang/{17 → 18}/include/ppc_wrappers/emmintrin.h +0 -0
  197. /package/lib/clang/{17 → 18}/include/ppc_wrappers/immintrin.h +0 -0
  198. /package/lib/clang/{17 → 18}/include/ppc_wrappers/mm_malloc.h +0 -0
  199. /package/lib/clang/{17 → 18}/include/ppc_wrappers/mmintrin.h +0 -0
  200. /package/lib/clang/{17 → 18}/include/ppc_wrappers/pmmintrin.h +0 -0
  201. /package/lib/clang/{17 → 18}/include/ppc_wrappers/tmmintrin.h +0 -0
  202. /package/lib/clang/{17 → 18}/include/ppc_wrappers/x86gprintrin.h +0 -0
  203. /package/lib/clang/{17 → 18}/include/ppc_wrappers/x86intrin.h +0 -0
  204. /package/lib/clang/{17 → 18}/include/ppc_wrappers/xmmintrin.h +0 -0
  205. /package/lib/clang/{17 → 18}/include/prfchiintrin.h +0 -0
  206. /package/lib/clang/{17 → 18}/include/prfchwintrin.h +0 -0
  207. /package/lib/clang/{17 → 18}/include/ptwriteintrin.h +0 -0
  208. /package/lib/clang/{17 → 18}/include/raointintrin.h +0 -0
  209. /package/lib/clang/{17 → 18}/include/rdpruintrin.h +0 -0
  210. /package/lib/clang/{17 → 18}/include/rdseedintrin.h +0 -0
  211. /package/lib/clang/{17 → 18}/include/rtmintrin.h +0 -0
  212. /package/lib/clang/{17 → 18}/include/s390intrin.h +0 -0
  213. /package/lib/clang/{17 → 18}/include/serializeintrin.h +0 -0
  214. /package/lib/clang/{17 → 18}/include/sgxintrin.h +0 -0
  215. /package/lib/clang/{17 → 18}/include/sha512intrin.h +0 -0
  216. /package/lib/clang/{17 → 18}/include/shaintrin.h +0 -0
  217. /package/lib/clang/{17 → 18}/include/sifive_vector.h +0 -0
  218. /package/lib/clang/{17 → 18}/include/sm3intrin.h +0 -0
  219. /package/lib/clang/{17 → 18}/include/sm4intrin.h +0 -0
  220. /package/lib/clang/{17 → 18}/include/stdbool.h +0 -0
  221. /package/lib/clang/{17 → 18}/include/tbmintrin.h +0 -0
  222. /package/lib/clang/{17 → 18}/include/tgmath.h +0 -0
  223. /package/lib/clang/{17 → 18}/include/tsxldtrkintrin.h +0 -0
  224. /package/lib/clang/{17 → 18}/include/uintrintrin.h +0 -0
  225. /package/lib/clang/{17 → 18}/include/unwind.h +0 -0
  226. /package/lib/clang/{17 → 18}/include/vadefs.h +0 -0
  227. /package/lib/clang/{17 → 18}/include/varargs.h +0 -0
  228. /package/lib/clang/{17 → 18}/include/velintrin.h +0 -0
  229. /package/lib/clang/{17 → 18}/include/velintrin_approx.h +0 -0
  230. /package/lib/clang/{17 → 18}/include/velintrin_gen.h +0 -0
  231. /package/lib/clang/{17 → 18}/include/vpclmulqdqintrin.h +0 -0
  232. /package/lib/clang/{17 → 18}/include/waitpkgintrin.h +0 -0
  233. /package/lib/clang/{17 → 18}/include/wasm_simd128.h +0 -0
  234. /package/lib/clang/{17 → 18}/include/wbnoinvdintrin.h +0 -0
  235. /package/lib/clang/{17 → 18}/include/wmmintrin.h +0 -0
  236. /package/lib/clang/{17 → 18}/include/x86intrin.h +0 -0
  237. /package/lib/clang/{17 → 18}/include/xopintrin.h +0 -0
  238. /package/lib/clang/{17 → 18}/include/xsavecintrin.h +0 -0
  239. /package/lib/clang/{17 → 18}/include/xsaveintrin.h +0 -0
  240. /package/lib/clang/{17 → 18}/include/xsaveoptintrin.h +0 -0
  241. /package/lib/clang/{17 → 18}/include/xsavesintrin.h +0 -0
  242. /package/lib/clang/{17 → 18}/include/xtestintrin.h +0 -0
@@ -0,0 +1,170 @@
1
+ /*===---- riscv_crypto.h - RISC-V Zk* intrinsics ---------------------------===
2
+ *
3
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
+ * See https://llvm.org/LICENSE.txt for license information.
5
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
+ *
7
+ *===-----------------------------------------------------------------------===
8
+ */
9
+
10
+ #ifndef __RISCV_CRYPTO_H
11
+ #define __RISCV_CRYPTO_H
12
+
13
+ #include <stdint.h>
14
+
15
+ #if defined(__cplusplus)
16
+ extern "C" {
17
+ #endif
18
+
19
+ #if defined(__riscv_zknd)
20
+ #if __riscv_xlen == 32
21
+ #define __riscv_aes32dsi(x, y, bs) __builtin_riscv_aes32dsi(x, y, bs)
22
+ #define __riscv_aes32dsmi(x, y, bs) __builtin_riscv_aes32dsmi(x, y, bs)
23
+ #endif
24
+
25
+ #if __riscv_xlen == 64
26
+ static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
27
+ __riscv_aes64ds(uint64_t __x, uint64_t __y) {
28
+ return __builtin_riscv_aes64ds(__x, __y);
29
+ }
30
+
31
+ static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
32
+ __riscv_aes64dsm(uint64_t __x, uint64_t __y) {
33
+ return __builtin_riscv_aes64dsm(__x, __y);
34
+ }
35
+
36
+ static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
37
+ __riscv_aes64im(uint64_t __x) {
38
+ return __builtin_riscv_aes64im(__x);
39
+ }
40
+ #endif
41
+ #endif // defined(__riscv_zknd)
42
+
43
+ #if defined(__riscv_zkne)
44
+ #if __riscv_xlen == 32
45
+ #define __riscv_aes32esi(x, y, bs) __builtin_riscv_aes32esi(x, y, bs)
46
+ #define __riscv_aes32esmi(x, y, bs) __builtin_riscv_aes32esmi(x, y, bs)
47
+ #endif
48
+
49
+ #if __riscv_xlen == 64
50
+ static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
51
+ __riscv_aes64es(uint64_t __x, uint64_t __y) {
52
+ return __builtin_riscv_aes64es(__x, __y);
53
+ }
54
+
55
+ static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
56
+ __riscv_aes64esm(uint64_t __x, uint64_t __y) {
57
+ return __builtin_riscv_aes64esm(__x, __y);
58
+ }
59
+ #endif
60
+ #endif // defined(__riscv_zkne)
61
+
62
+ #if defined(__riscv_zknd) || defined(__riscv_zkne)
63
+ #if __riscv_xlen == 64
64
+ #define __riscv_aes64ks1i(x, rnum) __builtin_riscv_aes64ks1i(x, rnum)
65
+
66
+ static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
67
+ __riscv_aes64ks2(uint64_t __x, uint64_t __y) {
68
+ return __builtin_riscv_aes64ks2(__x, __y);
69
+ }
70
+ #endif
71
+ #endif // defined(__riscv_zknd) || defined(__riscv_zkne)
72
+
73
+ #if defined(__riscv_zknh)
74
+ static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
75
+ __riscv_sha256sig0(uint32_t __x) {
76
+ return __builtin_riscv_sha256sig0(__x);
77
+ }
78
+
79
+ static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
80
+ __riscv_sha256sig1(uint32_t __x) {
81
+ return __builtin_riscv_sha256sig1(__x);
82
+ }
83
+
84
+ static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
85
+ __riscv_sha256sum0(uint32_t __x) {
86
+ return __builtin_riscv_sha256sum0(__x);
87
+ }
88
+
89
+ static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
90
+ __riscv_sha256sum1(uint32_t __x) {
91
+ return __builtin_riscv_sha256sum1(__x);
92
+ }
93
+
94
+ #if __riscv_xlen == 32
95
+ static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
96
+ __riscv_sha512sig0h(uint32_t __x, uint32_t __y) {
97
+ return __builtin_riscv_sha512sig0h(__x, __y);
98
+ }
99
+
100
+ static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
101
+ __riscv_sha512sig0l(uint32_t __x, uint32_t __y) {
102
+ return __builtin_riscv_sha512sig0l(__x, __y);
103
+ }
104
+
105
+ static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
106
+ __riscv_sha512sig1h(uint32_t __x, uint32_t __y) {
107
+ return __builtin_riscv_sha512sig1h(__x, __y);
108
+ }
109
+
110
+ static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
111
+ __riscv_sha512sig1l(uint32_t __x, uint32_t __y) {
112
+ return __builtin_riscv_sha512sig1l(__x, __y);
113
+ }
114
+
115
+ static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
116
+ __riscv_sha512sum0r(uint32_t __x, uint32_t __y) {
117
+ return __builtin_riscv_sha512sum0r(__x, __y);
118
+ }
119
+
120
+ static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
121
+ __riscv_sha512sum1r(uint32_t __x, uint32_t __y) {
122
+ return __builtin_riscv_sha512sum1r(__x, __y);
123
+ }
124
+ #endif
125
+
126
+ #if __riscv_xlen == 64
127
+ static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
128
+ __riscv_sha512sig0(uint64_t __x) {
129
+ return __builtin_riscv_sha512sig0(__x);
130
+ }
131
+
132
+ static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
133
+ __riscv_sha512sig1(uint64_t __x) {
134
+ return __builtin_riscv_sha512sig1(__x);
135
+ }
136
+
137
+ static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
138
+ __riscv_sha512sum0(uint64_t __x) {
139
+ return __builtin_riscv_sha512sum0(__x);
140
+ }
141
+
142
+ static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
143
+ __riscv_sha512sum1(uint64_t __x) {
144
+ return __builtin_riscv_sha512sum1(__x);
145
+ }
146
+ #endif
147
+ #endif // defined(__riscv_zknh)
148
+
149
+ #if defined(__riscv_zksh)
150
+ static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
151
+ __riscv_sm3p0(uint32_t __x) {
152
+ return __builtin_riscv_sm3p0(__x);
153
+ }
154
+
155
+ static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
156
+ __riscv_sm3p1(uint32_t __x) {
157
+ return __builtin_riscv_sm3p1(__x);
158
+ }
159
+ #endif // defined(__riscv_zksh)
160
+
161
+ #if defined(__riscv_zksed)
162
+ #define __riscv_sm4ed(x, y, bs) __builtin_riscv_sm4ed(x, y, bs);
163
+ #define __riscv_sm4ks(x, y, bs) __builtin_riscv_sm4ks(x, y, bs);
164
+ #endif // defined(__riscv_zksed)
165
+
166
+ #if defined(__cplusplus)
167
+ }
168
+ #endif
169
+
170
+ #endif
@@ -21,8 +21,6 @@ enum {
21
21
  __RISCV_NTLH_ALL
22
22
  };
23
23
 
24
- #define __riscv_ntl_load(PTR, DOMAIN) __builtin_riscv_ntl_load((PTR), (DOMAIN))
25
- #define __riscv_ntl_store(PTR, VAL, DOMAIN) \
26
- __builtin_riscv_ntl_store((PTR), (VAL), (DOMAIN))
27
-
28
- #endif
24
+ #define __riscv_ntl_load __builtin_riscv_ntl_load
25
+ #define __riscv_ntl_store __builtin_riscv_ntl_store
26
+ #endif
@@ -392,6 +392,37 @@ typedef __rvv_float64m2x4_t vfloat64m2x4_t;
392
392
  typedef __rvv_float64m4_t vfloat64m4_t;
393
393
  typedef __rvv_float64m4x2_t vfloat64m4x2_t;
394
394
  typedef __rvv_float64m8_t vfloat64m8_t;
395
+ typedef __rvv_bfloat16mf4_t vbfloat16mf4_t;
396
+ typedef __rvv_bfloat16mf4x2_t vbfloat16mf4x2_t;
397
+ typedef __rvv_bfloat16mf4x3_t vbfloat16mf4x3_t;
398
+ typedef __rvv_bfloat16mf4x4_t vbfloat16mf4x4_t;
399
+ typedef __rvv_bfloat16mf4x5_t vbfloat16mf4x5_t;
400
+ typedef __rvv_bfloat16mf4x6_t vbfloat16mf4x6_t;
401
+ typedef __rvv_bfloat16mf4x7_t vbfloat16mf4x7_t;
402
+ typedef __rvv_bfloat16mf4x8_t vbfloat16mf4x8_t;
403
+ typedef __rvv_bfloat16mf2_t vbfloat16mf2_t;
404
+ typedef __rvv_bfloat16mf2x2_t vbfloat16mf2x2_t;
405
+ typedef __rvv_bfloat16mf2x3_t vbfloat16mf2x3_t;
406
+ typedef __rvv_bfloat16mf2x4_t vbfloat16mf2x4_t;
407
+ typedef __rvv_bfloat16mf2x5_t vbfloat16mf2x5_t;
408
+ typedef __rvv_bfloat16mf2x6_t vbfloat16mf2x6_t;
409
+ typedef __rvv_bfloat16mf2x7_t vbfloat16mf2x7_t;
410
+ typedef __rvv_bfloat16mf2x8_t vbfloat16mf2x8_t;
411
+ typedef __rvv_bfloat16m1_t vbfloat16m1_t;
412
+ typedef __rvv_bfloat16m1x2_t vbfloat16m1x2_t;
413
+ typedef __rvv_bfloat16m1x3_t vbfloat16m1x3_t;
414
+ typedef __rvv_bfloat16m1x4_t vbfloat16m1x4_t;
415
+ typedef __rvv_bfloat16m1x5_t vbfloat16m1x5_t;
416
+ typedef __rvv_bfloat16m1x6_t vbfloat16m1x6_t;
417
+ typedef __rvv_bfloat16m1x7_t vbfloat16m1x7_t;
418
+ typedef __rvv_bfloat16m1x8_t vbfloat16m1x8_t;
419
+ typedef __rvv_bfloat16m2_t vbfloat16m2_t;
420
+ typedef __rvv_bfloat16m2x2_t vbfloat16m2x2_t;
421
+ typedef __rvv_bfloat16m2x3_t vbfloat16m2x3_t;
422
+ typedef __rvv_bfloat16m2x4_t vbfloat16m2x4_t;
423
+ typedef __rvv_bfloat16m4_t vbfloat16m4_t;
424
+ typedef __rvv_bfloat16m4x2_t vbfloat16m4x2_t;
425
+ typedef __rvv_bfloat16m8_t vbfloat16m8_t;
395
426
  #define __riscv_v_intrinsic_overloading 1
396
427
 
397
428
  #ifdef __cplusplus
@@ -18,8 +18,8 @@
18
18
 
19
19
  /* Define the default attributes for the functions in this file. */
20
20
  #define __DEFAULT_FN_ATTRS \
21
- __attribute__((__always_inline__, __nodebug__, __target__("sse4.1"), \
22
- __min_vector_width__(128)))
21
+ __attribute__((__always_inline__, __nodebug__, \
22
+ __target__("sse4.1,no-evex512"), __min_vector_width__(128)))
23
23
 
24
24
  /* SSE4 Rounding macros. */
25
25
  #define _MM_FROUND_TO_NEAREST_INT 0x00
@@ -645,7 +645,7 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mul_epi32(__m128i __V1,
645
645
  /// \returns A 128-bit integer vector containing the data stored at the
646
646
  /// specified memory location.
647
647
  static __inline__ __m128i __DEFAULT_FN_ATTRS
648
- _mm_stream_load_si128(__m128i const *__V) {
648
+ _mm_stream_load_si128(const void *__V) {
649
649
  return (__m128i)__builtin_nontemporal_load((const __v2di *)__V);
650
650
  }
651
651
 
@@ -10,10 +10,8 @@
10
10
  #ifndef __STDALIGN_H
11
11
  #define __STDALIGN_H
12
12
 
13
- /* FIXME: This is using the placeholder dates Clang produces for these macros
14
- in C2x mode; switch to the correct values once they've been published. */
15
13
  #if defined(__cplusplus) || \
16
- (defined(__STDC_VERSION__) && __STDC_VERSION__ < 202000L)
14
+ (defined(__STDC_VERSION__) && __STDC_VERSION__ < 202311L)
17
15
  #ifndef __cplusplus
18
16
  #define alignas _Alignas
19
17
  #define alignof _Alignof
@@ -0,0 +1,79 @@
1
+ /*===---- stdarg.h - Variable argument handling ----------------------------===
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
+ /*
11
+ * This header is designed to be included multiple times. If any of the __need_
12
+ * macros are defined, then only that subset of interfaces are provided. This
13
+ * can be useful for POSIX headers that need to not expose all of stdarg.h, but
14
+ * need to use some of its interfaces. Otherwise this header provides all of
15
+ * the expected interfaces.
16
+ *
17
+ * When clang modules are enabled, this header is a textual header. It ignores
18
+ * its header guard so that multiple submodules can export its interfaces.
19
+ * Take module SM with submodules A and B, whose headers both include stdarg.h
20
+ * When SM.A builds, __STDARG_H will be defined. When SM.B builds, the
21
+ * definition from SM.A will leak when building without local submodule
22
+ * visibility. stdarg.h wouldn't include any of its implementation headers, and
23
+ * SM.B wouldn't import any of the stdarg modules, and SM.B's `export *`
24
+ * wouldn't export any stdarg interfaces as expected. However, since stdarg.h
25
+ * ignores its header guard when building with modules, it all works as
26
+ * expected.
27
+ *
28
+ * When clang modules are not enabled, the header guards can function in the
29
+ * normal simple fashion.
30
+ */
31
+ #if !defined(__STDARG_H) || __has_feature(modules) || \
32
+ defined(__need___va_list) || defined(__need_va_list) || \
33
+ defined(__need_va_arg) || defined(__need___va_copy) || \
34
+ defined(__need_va_copy)
35
+
36
+ #if !defined(__need___va_list) && !defined(__need_va_list) && \
37
+ !defined(__need_va_arg) && !defined(__need___va_copy) && \
38
+ !defined(__need_va_copy)
39
+ #define __STDARG_H
40
+ #define __need___va_list
41
+ #define __need_va_list
42
+ #define __need_va_arg
43
+ #define __need___va_copy
44
+ /* GCC always defines __va_copy, but does not define va_copy unless in c99 mode
45
+ * or -ansi is not specified, since it was not part of C90.
46
+ */
47
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
48
+ (defined(__cplusplus) && __cplusplus >= 201103L) || \
49
+ !defined(__STRICT_ANSI__)
50
+ #define __need_va_copy
51
+ #endif
52
+ #endif
53
+
54
+ #ifdef __need___va_list
55
+ #include <__stdarg___gnuc_va_list.h>
56
+ #undef __need___va_list
57
+ #endif /* defined(__need___va_list) */
58
+
59
+ #ifdef __need_va_list
60
+ #include <__stdarg_va_list.h>
61
+ #undef __need_va_list
62
+ #endif /* defined(__need_va_list) */
63
+
64
+ #ifdef __need_va_arg
65
+ #include <__stdarg_va_arg.h>
66
+ #undef __need_va_arg
67
+ #endif /* defined(__need_va_arg) */
68
+
69
+ #ifdef __need___va_copy
70
+ #include <__stdarg___va_copy.h>
71
+ #undef __need___va_copy
72
+ #endif /* defined(__need___va_copy) */
73
+
74
+ #ifdef __need_va_copy
75
+ #include <__stdarg_va_copy.h>
76
+ #undef __need_va_copy
77
+ #endif /* defined(__need_va_copy) */
78
+
79
+ #endif
@@ -45,16 +45,14 @@ extern "C" {
45
45
  #define ATOMIC_POINTER_LOCK_FREE __CLANG_ATOMIC_POINTER_LOCK_FREE
46
46
 
47
47
  /* 7.17.2 Initialization */
48
- /* FIXME: This is using the placeholder dates Clang produces for these macros
49
- in C2x mode; switch to the correct values once they've been published. */
50
- #if (defined(__STDC_VERSION__) && __STDC_VERSION__ < 202000L) || \
48
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ < 202311L) || \
51
49
  defined(__cplusplus)
52
- /* ATOMIC_VAR_INIT was removed in C2x, but still remains in C++23. */
50
+ /* ATOMIC_VAR_INIT was removed in C23, but still remains in C++23. */
53
51
  #define ATOMIC_VAR_INIT(value) (value)
54
52
  #endif
55
53
 
56
54
  #if ((defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201710L && \
57
- __STDC_VERSION__ < 202000L) || \
55
+ __STDC_VERSION__ < 202311L) || \
58
56
  (defined(__cplusplus) && __cplusplus >= 202002L)) && \
59
57
  !defined(_CLANG_DISABLE_CRT_DEPRECATION_WARNINGS)
60
58
  /* ATOMIC_VAR_INIT was deprecated in C17 and C++20. */
@@ -0,0 +1,42 @@
1
+ /*===---- stdckdint.h - Standard header for checking integer----------------===
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 __STDCKDINT_H
11
+ #define __STDCKDINT_H
12
+
13
+ /* If we're hosted, fall back to the system's stdckdint.h. FreeBSD, for
14
+ * example, already has a Clang-compatible stdckdint.h header.
15
+ *
16
+ * The `stdckdint.h` header requires C 23 or newer.
17
+ */
18
+ #if __STDC_HOSTED__ && __has_include_next(<stdckdint.h>)
19
+ #include_next <stdckdint.h>
20
+ #else
21
+
22
+ /* C23 7.20.1 Defines several macros for performing checked integer arithmetic*/
23
+
24
+ #define __STDC_VERSION_STDCKDINT_H__ 202311L
25
+
26
+ // Both A and B shall be any integer type other than "plain" char, bool, a bit-
27
+ // precise integer type, or an enumerated type, and they need not be the same.
28
+
29
+ // R shall be a modifiable lvalue of any integer type other than "plain" char,
30
+ // bool, a bit-precise integer type, or an enumerated type. It shouldn't be
31
+ // short type, either. Otherwise, it may be unable to hold two the result of
32
+ // operating two 'int's.
33
+
34
+ // A diagnostic message will be produced if A or B are not suitable integer
35
+ // types, or if R is not a modifiable lvalue of a suitable integer type or R
36
+ // is short type.
37
+ #define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R))
38
+ #define ckd_sub(R, A, B) __builtin_sub_overflow((A), (B), (R))
39
+ #define ckd_mul(R, A, B) __builtin_mul_overflow((A), (B), (R))
40
+
41
+ #endif /* __STDC_HOSTED__ */
42
+ #endif /* __STDCKDINT_H */
@@ -0,0 +1,123 @@
1
+ /*===---- stddef.h - Basic type definitions --------------------------------===
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
+ /*
11
+ * This header is designed to be included multiple times. If any of the __need_
12
+ * macros are defined, then only that subset of interfaces are provided. This
13
+ * can be useful for POSIX headers that need to not expose all of stddef.h, but
14
+ * need to use some of its interfaces. Otherwise this header provides all of
15
+ * the expected interfaces.
16
+ *
17
+ * When clang modules are enabled, this header is a textual header. It ignores
18
+ * its header guard so that multiple submodules can export its interfaces.
19
+ * Take module SM with submodules A and B, whose headers both include stddef.h
20
+ * When SM.A builds, __STDDEF_H will be defined. When SM.B builds, the
21
+ * definition from SM.A will leak when building without local submodule
22
+ * visibility. stddef.h wouldn't include any of its implementation headers, and
23
+ * SM.B wouldn't import any of the stddef modules, and SM.B's `export *`
24
+ * wouldn't export any stddef interfaces as expected. However, since stddef.h
25
+ * ignores its header guard when building with modules, it all works as
26
+ * expected.
27
+ *
28
+ * When clang modules are not enabled, the header guards can function in the
29
+ * normal simple fashion.
30
+ */
31
+ #if !defined(__STDDEF_H) || __has_feature(modules) || \
32
+ (defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1) || \
33
+ defined(__need_ptrdiff_t) || defined(__need_size_t) || \
34
+ defined(__need_rsize_t) || defined(__need_wchar_t) || \
35
+ defined(__need_NULL) || defined(__need_nullptr_t) || \
36
+ defined(__need_unreachable) || defined(__need_max_align_t) || \
37
+ defined(__need_offsetof) || defined(__need_wint_t)
38
+
39
+ #if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \
40
+ !defined(__need_rsize_t) && !defined(__need_wchar_t) && \
41
+ !defined(__need_NULL) && !defined(__need_nullptr_t) && \
42
+ !defined(__need_unreachable) && !defined(__need_max_align_t) && \
43
+ !defined(__need_offsetof) && !defined(__need_wint_t)
44
+ #define __STDDEF_H
45
+ #define __need_ptrdiff_t
46
+ #define __need_size_t
47
+ /* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is
48
+ * enabled. */
49
+ #if defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1
50
+ #define __need_rsize_t
51
+ #endif
52
+ #define __need_wchar_t
53
+ #define __need_NULL
54
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \
55
+ defined(__cplusplus)
56
+ #define __need_nullptr_t
57
+ #endif
58
+ #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
59
+ #define __need_unreachable
60
+ #endif
61
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
62
+ (defined(__cplusplus) && __cplusplus >= 201103L)
63
+ #define __need_max_align_t
64
+ #endif
65
+ #define __need_offsetof
66
+ /* wint_t is provided by <wchar.h> and not <stddef.h>. It's here
67
+ * for compatibility, but must be explicitly requested. Therefore
68
+ * __need_wint_t is intentionally not defined here. */
69
+ #endif
70
+
71
+ #if defined(__need_ptrdiff_t)
72
+ #include <__stddef_ptrdiff_t.h>
73
+ #undef __need_ptrdiff_t
74
+ #endif /* defined(__need_ptrdiff_t) */
75
+
76
+ #if defined(__need_size_t)
77
+ #include <__stddef_size_t.h>
78
+ #undef __need_size_t
79
+ #endif /*defined(__need_size_t) */
80
+
81
+ #if defined(__need_rsize_t)
82
+ #include <__stddef_rsize_t.h>
83
+ #undef __need_rsize_t
84
+ #endif /* defined(__need_rsize_t) */
85
+
86
+ #if defined(__need_wchar_t)
87
+ #include <__stddef_wchar_t.h>
88
+ #undef __need_wchar_t
89
+ #endif /* defined(__need_wchar_t) */
90
+
91
+ #if defined(__need_NULL)
92
+ #include <__stddef_null.h>
93
+ #undef __need_NULL
94
+ #endif /* defined(__need_NULL) */
95
+
96
+ #if defined(__need_nullptr_t)
97
+ #include <__stddef_nullptr_t.h>
98
+ #undef __need_nullptr_t
99
+ #endif /* defined(__need_nullptr_t) */
100
+
101
+ #if defined(__need_unreachable)
102
+ #include <__stddef_unreachable.h>
103
+ #undef __need_unreachable
104
+ #endif /* defined(__need_unreachable) */
105
+
106
+ #if defined(__need_max_align_t)
107
+ #include <__stddef_max_align_t.h>
108
+ #undef __need_max_align_t
109
+ #endif /* defined(__need_max_align_t) */
110
+
111
+ #if defined(__need_offsetof)
112
+ #include <__stddef_offsetof.h>
113
+ #undef __need_offsetof
114
+ #endif /* defined(__need_offsetof) */
115
+
116
+ /* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
117
+ __WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */
118
+ #if defined(__need_wint_t)
119
+ #include <__stddef_wint_t.h>
120
+ #undef __need_wint_t
121
+ #endif /* __need_wint_t */
122
+
123
+ #endif