@cpp-linter/clang-tidy-darwin-x64 14.0.0 → 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 (227) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy +2 -2
  3. package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_intrinsics.h +198 -7
  4. package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_math.h +1 -1
  5. package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_texture_intrinsics.h +2 -0
  6. package/lib/clang/{14.0.0 → 17}/include/__clang_hip_cmath.h +1 -1
  7. package/lib/clang/{14.0.0 → 17}/include/__clang_hip_libdevice_declares.h +37 -30
  8. package/lib/clang/{14.0.0 → 17}/include/__clang_hip_math.h +66 -84
  9. package/lib/clang/{14.0.0 → 17}/include/__clang_hip_runtime_wrapper.h +14 -0
  10. package/lib/clang/17/include/__clang_hip_stdlib.h +43 -0
  11. package/lib/clang/{14.0.0 → 17}/include/__wmmintrin_pclmul.h +10 -10
  12. package/lib/clang/17/include/adxintrin.h +227 -0
  13. package/lib/clang/{14.0.0 → 17}/include/altivec.h +597 -346
  14. package/lib/clang/17/include/amxcomplexintrin.h +169 -0
  15. package/lib/clang/17/include/amxfp16intrin.h +58 -0
  16. package/lib/clang/{14.0.0 → 17}/include/amxintrin.h +32 -2
  17. package/lib/clang/{14.0.0 → 17}/include/arm_acle.h +86 -81
  18. package/lib/clang/{14.0.0 → 17}/include/arm_fp16.h +90 -90
  19. package/lib/clang/{14.0.0 → 17}/include/arm_neon.h +28567 -28574
  20. package/lib/clang/{14.0.0 → 17}/include/arm_neon_sve_bridge.h +0 -2
  21. package/lib/clang/17/include/arm_sme_draft_spec_subject_to_change.h +642 -0
  22. package/lib/clang/{14.0.0 → 17}/include/arm_sve.h +7916 -8009
  23. package/lib/clang/17/include/avx2intrin.h +5263 -0
  24. package/lib/clang/{14.0.0 → 17}/include/avx512bf16intrin.h +18 -15
  25. package/lib/clang/{14.0.0 → 17}/include/avx512bwintrin.h +12 -12
  26. package/lib/clang/{14.0.0 → 17}/include/avx512fintrin.h +95 -82
  27. package/lib/clang/{14.0.0 → 17}/include/avx512fp16intrin.h +18 -17
  28. package/lib/clang/{14.0.0 → 17}/include/avx512ifmavlintrin.h +13 -27
  29. package/lib/clang/{14.0.0 → 17}/include/avx512vlbf16intrin.h +31 -38
  30. package/lib/clang/{14.0.0 → 17}/include/avx512vlbwintrin.h +360 -8
  31. package/lib/clang/{14.0.0 → 17}/include/avx512vlfp16intrin.h +3 -0
  32. package/lib/clang/{14.0.0 → 17}/include/avx512vlintrin.h +81 -95
  33. package/lib/clang/{14.0.0 → 17}/include/avx512vlvnniintrin.h +16 -16
  34. package/lib/clang/17/include/avxifmaintrin.h +177 -0
  35. package/lib/clang/{14.0.0 → 17}/include/avxintrin.h +97 -39
  36. package/lib/clang/17/include/avxneconvertintrin.h +484 -0
  37. package/lib/clang/17/include/avxvnniint16intrin.h +473 -0
  38. package/lib/clang/17/include/avxvnniint8intrin.h +471 -0
  39. package/lib/clang/{14.0.0 → 17}/include/avxvnniintrin.h +16 -16
  40. package/lib/clang/17/include/bmi2intrin.h +255 -0
  41. package/lib/clang/{14.0.0 → 17}/include/bmiintrin.h +6 -2
  42. package/lib/clang/{14.0.0 → 17}/include/cetintrin.h +12 -6
  43. package/lib/clang/{14.0.0 → 17}/include/clflushoptintrin.h +9 -0
  44. package/lib/clang/{14.0.0 → 17}/include/clzerointrin.h +7 -5
  45. package/lib/clang/17/include/cmpccxaddintrin.h +70 -0
  46. package/lib/clang/{14.0.0 → 17}/include/cpuid.h +12 -1
  47. package/lib/clang/17/include/cuda_wrappers/bits/basic_string.h +9 -0
  48. package/lib/clang/17/include/cuda_wrappers/bits/basic_string.tcc +9 -0
  49. package/lib/clang/17/include/cuda_wrappers/bits/shared_ptr_base.h +9 -0
  50. package/lib/clang/17/include/cuda_wrappers/cmath +90 -0
  51. package/lib/clang/{14.0.0 → 17}/include/emmintrin.h +559 -769
  52. package/lib/clang/{14.0.0 → 17}/include/f16cintrin.h +3 -3
  53. package/lib/clang/{14.0.0 → 17}/include/float.h +17 -10
  54. package/lib/clang/17/include/fmaintrin.h +780 -0
  55. package/lib/clang/{14.0.0 → 17}/include/gfniintrin.h +7 -5
  56. package/lib/clang/17/include/hlsl/hlsl_basic_types.h +67 -0
  57. package/lib/clang/17/include/hlsl/hlsl_intrinsics.h +480 -0
  58. package/lib/clang/17/include/hlsl.h +15 -0
  59. package/lib/clang/{14.0.0 → 17}/include/hresetintrin.h +2 -2
  60. package/lib/clang/{14.0.0 → 17}/include/ia32intrin.h +11 -11
  61. package/lib/clang/{14.0.0 → 17}/include/immintrin.h +166 -26
  62. package/lib/clang/{14.0.0 → 17}/include/intrin.h +12 -21
  63. package/lib/clang/{14.0.0 → 17}/include/keylockerintrin.h +22 -22
  64. package/lib/clang/17/include/larchintrin.h +234 -0
  65. package/lib/clang/{14.0.0 → 17}/include/limits.h +8 -3
  66. package/lib/clang/17/include/llvm_libc_wrappers/ctype.h +85 -0
  67. package/lib/clang/17/include/llvm_libc_wrappers/inttypes.h +34 -0
  68. package/lib/clang/17/include/llvm_libc_wrappers/stdio.h +34 -0
  69. package/lib/clang/17/include/llvm_libc_wrappers/stdlib.h +42 -0
  70. package/lib/clang/17/include/llvm_libc_wrappers/string.h +37 -0
  71. package/lib/clang/{14.0.0 → 17}/include/mm_malloc.h +3 -3
  72. package/lib/clang/17/include/mwaitxintrin.h +62 -0
  73. package/lib/clang/{14.0.0 → 17}/include/opencl-c-base.h +32 -0
  74. package/lib/clang/{14.0.0 → 17}/include/opencl-c.h +6904 -7100
  75. package/lib/clang/{14.0.0 → 17}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -1
  76. package/lib/clang/{14.0.0 → 17}/include/openmp_wrappers/new +1 -1
  77. package/lib/clang/{14.0.0 → 17}/include/pmmintrin.h +13 -7
  78. package/lib/clang/17/include/ppc_wrappers/bmi2intrin.h +134 -0
  79. package/lib/clang/17/include/ppc_wrappers/bmiintrin.h +165 -0
  80. package/lib/clang/17/include/ppc_wrappers/emmintrin.h +2269 -0
  81. package/lib/clang/17/include/ppc_wrappers/immintrin.h +27 -0
  82. package/lib/clang/{14.0.0 → 17}/include/ppc_wrappers/mm_malloc.h +12 -17
  83. package/lib/clang/{14.0.0 → 17}/include/ppc_wrappers/mmintrin.h +389 -387
  84. package/lib/clang/17/include/ppc_wrappers/pmmintrin.h +145 -0
  85. package/lib/clang/17/include/ppc_wrappers/smmintrin.h +663 -0
  86. package/lib/clang/17/include/ppc_wrappers/tmmintrin.h +453 -0
  87. package/lib/clang/{14.0.0/include/stdnoreturn.h → 17/include/ppc_wrappers/x86gprintrin.h} +7 -6
  88. package/lib/clang/17/include/ppc_wrappers/x86intrin.h +28 -0
  89. package/lib/clang/17/include/ppc_wrappers/xmmintrin.h +1827 -0
  90. package/lib/clang/17/include/prfchiintrin.h +61 -0
  91. package/lib/clang/17/include/raointintrin.h +203 -0
  92. package/lib/clang/17/include/rdpruintrin.h +57 -0
  93. package/lib/clang/17/include/rdseedintrin.h +105 -0
  94. package/lib/clang/17/include/riscv_ntlh.h +28 -0
  95. package/lib/clang/17/include/riscv_vector.h +400 -0
  96. package/lib/clang/{14.0.0 → 17}/include/rtmintrin.h +1 -1
  97. package/lib/clang/17/include/sha512intrin.h +200 -0
  98. package/lib/clang/17/include/shaintrin.h +189 -0
  99. package/lib/clang/17/include/sifive_vector.h +16 -0
  100. package/lib/clang/17/include/sm3intrin.h +238 -0
  101. package/lib/clang/17/include/sm4intrin.h +269 -0
  102. package/lib/clang/{14.0.0 → 17}/include/smmintrin.h +236 -259
  103. package/lib/clang/{14.0.0 → 17}/include/stdalign.h +5 -0
  104. package/lib/clang/{14.0.0 → 17}/include/stdarg.h +23 -7
  105. package/lib/clang/{14.0.0 → 17}/include/stdatomic.h +15 -8
  106. package/lib/clang/{14.0.0 → 17}/include/stdbool.h +10 -7
  107. package/lib/clang/{14.0.0 → 17}/include/stddef.h +14 -2
  108. package/lib/clang/{14.0.0 → 17}/include/stdint.h +158 -40
  109. package/lib/clang/17/include/stdnoreturn.h +29 -0
  110. package/lib/clang/{14.0.0 → 17}/include/uintrintrin.h +8 -8
  111. package/lib/clang/{14.0.0 → 17}/include/unwind.h +10 -6
  112. package/lib/clang/17/include/velintrin.h +71 -0
  113. package/lib/clang/17/include/velintrin_approx.h +120 -0
  114. package/lib/clang/17/include/velintrin_gen.h +1257 -0
  115. package/lib/clang/{14.0.0 → 17}/include/wasm_simd128.h +134 -14
  116. package/lib/clang/17/include/x86gprintrin.h +65 -0
  117. package/lib/clang/{14.0.0 → 17}/include/x86intrin.h +4 -0
  118. package/lib/clang/{14.0.0 → 17}/include/xmmintrin.h +10 -5
  119. package/lib/clang/17/include/xsavecintrin.h +84 -0
  120. package/package.json +6 -6
  121. package/lib/clang/14.0.0/include/adxintrin.h +0 -72
  122. package/lib/clang/14.0.0/include/avx2intrin.h +0 -1148
  123. package/lib/clang/14.0.0/include/bmi2intrin.h +0 -81
  124. package/lib/clang/14.0.0/include/fmaintrin.h +0 -216
  125. package/lib/clang/14.0.0/include/mwaitxintrin.h +0 -33
  126. package/lib/clang/14.0.0/include/ppc_wrappers/emmintrin.h +0 -2325
  127. package/lib/clang/14.0.0/include/ppc_wrappers/pmmintrin.h +0 -151
  128. package/lib/clang/14.0.0/include/ppc_wrappers/smmintrin.h +0 -110
  129. package/lib/clang/14.0.0/include/ppc_wrappers/tmmintrin.h +0 -496
  130. package/lib/clang/14.0.0/include/ppc_wrappers/xmmintrin.h +0 -1844
  131. package/lib/clang/14.0.0/include/rdseedintrin.h +0 -42
  132. package/lib/clang/14.0.0/include/riscv_vector.h +0 -95423
  133. package/lib/clang/14.0.0/include/shaintrin.h +0 -61
  134. package/lib/clang/14.0.0/include/x86gprintrin.h +0 -35
  135. package/lib/clang/14.0.0/include/xsavecintrin.h +0 -34
  136. /package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_builtin_vars.h +0 -0
  137. /package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_cmath.h +0 -0
  138. /package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_complex_builtins.h +0 -0
  139. /package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_device_functions.h +0 -0
  140. /package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_libdevice_declares.h +0 -0
  141. /package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_math_forward_declares.h +0 -0
  142. /package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_runtime_wrapper.h +0 -0
  143. /package/lib/clang/{14.0.0 → 17}/include/__stddef_max_align_t.h +0 -0
  144. /package/lib/clang/{14.0.0 → 17}/include/__wmmintrin_aes.h +0 -0
  145. /package/lib/clang/{14.0.0 → 17}/include/ammintrin.h +0 -0
  146. /package/lib/clang/{14.0.0 → 17}/include/arm64intr.h +0 -0
  147. /package/lib/clang/{14.0.0 → 17}/include/arm_bf16.h +0 -0
  148. /package/lib/clang/{14.0.0 → 17}/include/arm_cde.h +0 -0
  149. /package/lib/clang/{14.0.0 → 17}/include/arm_cmse.h +0 -0
  150. /package/lib/clang/{14.0.0 → 17}/include/arm_mve.h +0 -0
  151. /package/lib/clang/{14.0.0 → 17}/include/armintr.h +0 -0
  152. /package/lib/clang/{14.0.0 → 17}/include/avx512bitalgintrin.h +0 -0
  153. /package/lib/clang/{14.0.0 → 17}/include/avx512cdintrin.h +0 -0
  154. /package/lib/clang/{14.0.0 → 17}/include/avx512dqintrin.h +0 -0
  155. /package/lib/clang/{14.0.0 → 17}/include/avx512erintrin.h +0 -0
  156. /package/lib/clang/{14.0.0 → 17}/include/avx512ifmaintrin.h +0 -0
  157. /package/lib/clang/{14.0.0 → 17}/include/avx512pfintrin.h +0 -0
  158. /package/lib/clang/{14.0.0 → 17}/include/avx512vbmi2intrin.h +0 -0
  159. /package/lib/clang/{14.0.0 → 17}/include/avx512vbmiintrin.h +0 -0
  160. /package/lib/clang/{14.0.0 → 17}/include/avx512vbmivlintrin.h +0 -0
  161. /package/lib/clang/{14.0.0 → 17}/include/avx512vlbitalgintrin.h +0 -0
  162. /package/lib/clang/{14.0.0 → 17}/include/avx512vlcdintrin.h +0 -0
  163. /package/lib/clang/{14.0.0 → 17}/include/avx512vldqintrin.h +0 -0
  164. /package/lib/clang/{14.0.0 → 17}/include/avx512vlvbmi2intrin.h +0 -0
  165. /package/lib/clang/{14.0.0 → 17}/include/avx512vlvp2intersectintrin.h +0 -0
  166. /package/lib/clang/{14.0.0 → 17}/include/avx512vnniintrin.h +0 -0
  167. /package/lib/clang/{14.0.0 → 17}/include/avx512vp2intersectintrin.h +0 -0
  168. /package/lib/clang/{14.0.0 → 17}/include/avx512vpopcntdqintrin.h +0 -0
  169. /package/lib/clang/{14.0.0 → 17}/include/avx512vpopcntdqvlintrin.h +0 -0
  170. /package/lib/clang/{14.0.0 → 17}/include/builtins.h +0 -0
  171. /package/lib/clang/{14.0.0 → 17}/include/cet.h +0 -0
  172. /package/lib/clang/{14.0.0 → 17}/include/cldemoteintrin.h +0 -0
  173. /package/lib/clang/{14.0.0 → 17}/include/clwbintrin.h +0 -0
  174. /package/lib/clang/{14.0.0 → 17}/include/crc32intrin.h +0 -0
  175. /package/lib/clang/{14.0.0 → 17}/include/cuda_wrappers/algorithm +0 -0
  176. /package/lib/clang/{14.0.0 → 17}/include/cuda_wrappers/complex +0 -0
  177. /package/lib/clang/{14.0.0 → 17}/include/cuda_wrappers/new +0 -0
  178. /package/lib/clang/{14.0.0 → 17}/include/enqcmdintrin.h +0 -0
  179. /package/lib/clang/{14.0.0 → 17}/include/fma4intrin.h +0 -0
  180. /package/lib/clang/{14.0.0 → 17}/include/fxsrintrin.h +0 -0
  181. /package/lib/clang/{14.0.0 → 17}/include/hexagon_circ_brev_intrinsics.h +0 -0
  182. /package/lib/clang/{14.0.0 → 17}/include/hexagon_protos.h +0 -0
  183. /package/lib/clang/{14.0.0 → 17}/include/hexagon_types.h +0 -0
  184. /package/lib/clang/{14.0.0 → 17}/include/htmintrin.h +0 -0
  185. /package/lib/clang/{14.0.0 → 17}/include/htmxlintrin.h +0 -0
  186. /package/lib/clang/{14.0.0 → 17}/include/hvx_hexagon_protos.h +0 -0
  187. /package/lib/clang/{14.0.0 → 17}/include/inttypes.h +0 -0
  188. /package/lib/clang/{14.0.0 → 17}/include/invpcidintrin.h +0 -0
  189. /package/lib/clang/{14.0.0 → 17}/include/iso646.h +0 -0
  190. /package/lib/clang/{14.0.0 → 17}/include/lwpintrin.h +0 -0
  191. /package/lib/clang/{14.0.0 → 17}/include/lzcntintrin.h +0 -0
  192. /package/lib/clang/{14.0.0 → 17}/include/mm3dnow.h +0 -0
  193. /package/lib/clang/{14.0.0 → 17}/include/mmintrin.h +0 -0
  194. /package/lib/clang/{14.0.0 → 17}/include/module.modulemap +0 -0
  195. /package/lib/clang/{14.0.0 → 17}/include/movdirintrin.h +0 -0
  196. /package/lib/clang/{14.0.0 → 17}/include/msa.h +0 -0
  197. /package/lib/clang/{14.0.0 → 17}/include/nmmintrin.h +0 -0
  198. /package/lib/clang/{14.0.0 → 17}/include/openmp_wrappers/cmath +0 -0
  199. /package/lib/clang/{14.0.0 → 17}/include/openmp_wrappers/complex +0 -0
  200. /package/lib/clang/{14.0.0 → 17}/include/openmp_wrappers/complex.h +0 -0
  201. /package/lib/clang/{14.0.0 → 17}/include/openmp_wrappers/complex_cmath.h +0 -0
  202. /package/lib/clang/{14.0.0 → 17}/include/openmp_wrappers/math.h +0 -0
  203. /package/lib/clang/{14.0.0 → 17}/include/pconfigintrin.h +0 -0
  204. /package/lib/clang/{14.0.0 → 17}/include/pkuintrin.h +0 -0
  205. /package/lib/clang/{14.0.0 → 17}/include/popcntintrin.h +0 -0
  206. /package/lib/clang/{14.0.0 → 17}/include/prfchwintrin.h +0 -0
  207. /package/lib/clang/{14.0.0 → 17}/include/ptwriteintrin.h +0 -0
  208. /package/lib/clang/{14.0.0 → 17}/include/s390intrin.h +0 -0
  209. /package/lib/clang/{14.0.0 → 17}/include/serializeintrin.h +0 -0
  210. /package/lib/clang/{14.0.0 → 17}/include/sgxintrin.h +0 -0
  211. /package/lib/clang/{14.0.0 → 17}/include/tbmintrin.h +0 -0
  212. /package/lib/clang/{14.0.0 → 17}/include/tgmath.h +0 -0
  213. /package/lib/clang/{14.0.0 → 17}/include/tmmintrin.h +0 -0
  214. /package/lib/clang/{14.0.0 → 17}/include/tsxldtrkintrin.h +0 -0
  215. /package/lib/clang/{14.0.0 → 17}/include/vadefs.h +0 -0
  216. /package/lib/clang/{14.0.0 → 17}/include/vaesintrin.h +0 -0
  217. /package/lib/clang/{14.0.0 → 17}/include/varargs.h +0 -0
  218. /package/lib/clang/{14.0.0 → 17}/include/vecintrin.h +0 -0
  219. /package/lib/clang/{14.0.0 → 17}/include/vpclmulqdqintrin.h +0 -0
  220. /package/lib/clang/{14.0.0 → 17}/include/waitpkgintrin.h +0 -0
  221. /package/lib/clang/{14.0.0 → 17}/include/wbnoinvdintrin.h +0 -0
  222. /package/lib/clang/{14.0.0 → 17}/include/wmmintrin.h +0 -0
  223. /package/lib/clang/{14.0.0 → 17}/include/xopintrin.h +0 -0
  224. /package/lib/clang/{14.0.0 → 17}/include/xsaveintrin.h +0 -0
  225. /package/lib/clang/{14.0.0 → 17}/include/xsaveoptintrin.h +0 -0
  226. /package/lib/clang/{14.0.0 → 17}/include/xsavesintrin.h +0 -0
  227. /package/lib/clang/{14.0.0 → 17}/include/xtestintrin.h +0 -0
@@ -0,0 +1,61 @@
1
+ /*===---- prfchiintrin.h - PREFETCHI intrinsic -----------------------------===
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 __PRFCHIINTRIN_H
11
+ #define __PRFCHIINTRIN_H
12
+
13
+ #ifdef __x86_64__
14
+
15
+ /* Define the default attributes for the functions in this file. */
16
+ #define __DEFAULT_FN_ATTRS \
17
+ __attribute__((__always_inline__, __nodebug__, __target__("prefetchi")))
18
+
19
+ /// Loads an instruction sequence containing the specified memory address into
20
+ /// all level cache.
21
+ ///
22
+ /// Note that the effect of this intrinsic is dependent on the processor
23
+ /// implementation.
24
+ ///
25
+ /// \headerfile <x86intrin.h>
26
+ ///
27
+ /// This intrinsic corresponds to the \c PREFETCHIT0 instruction.
28
+ ///
29
+ /// \param __P
30
+ /// A pointer specifying the memory address to be prefetched.
31
+ static __inline__ void __DEFAULT_FN_ATTRS
32
+ _m_prefetchit0(volatile const void *__P) {
33
+ #pragma clang diagnostic push
34
+ #pragma clang diagnostic ignored "-Wcast-qual"
35
+ __builtin_ia32_prefetchi((const void *)__P, 3 /* _MM_HINT_T0 */);
36
+ #pragma clang diagnostic pop
37
+ }
38
+
39
+ /// Loads an instruction sequence containing the specified memory address into
40
+ /// all but the first-level cache.
41
+ ///
42
+ /// Note that the effect of this intrinsic is dependent on the processor
43
+ /// implementation.
44
+ ///
45
+ /// \headerfile <x86intrin.h>
46
+ ///
47
+ /// This intrinsic corresponds to the \c PREFETCHIT1 instruction.
48
+ ///
49
+ /// \param __P
50
+ /// A pointer specifying the memory address to be prefetched.
51
+ static __inline__ void __DEFAULT_FN_ATTRS
52
+ _m_prefetchit1(volatile const void *__P) {
53
+ #pragma clang diagnostic push
54
+ #pragma clang diagnostic ignored "-Wcast-qual"
55
+ __builtin_ia32_prefetchi((const void *)__P, 2 /* _MM_HINT_T1 */);
56
+ #pragma clang diagnostic pop
57
+ }
58
+ #endif /* __x86_64__ */
59
+ #undef __DEFAULT_FN_ATTRS
60
+
61
+ #endif /* __PRFCHWINTRIN_H */
@@ -0,0 +1,203 @@
1
+ /*===----------------------- raointintrin.h - RAOINT ------------------------===
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 __X86GPRINTRIN_H
11
+ #error "Never use <raointintrin.h> directly; include <x86gprintrin.h> instead."
12
+ #endif // __X86GPRINTRIN_H
13
+
14
+ #ifndef __RAOINTINTRIN_H
15
+ #define __RAOINTINTRIN_H
16
+
17
+ #define __DEFAULT_FN_ATTRS \
18
+ __attribute__((__always_inline__, __nodebug__, __target__("raoint")))
19
+
20
+ /// Atomically add a 32-bit value at memory operand \a __A and a 32-bit \a __B,
21
+ /// and store the result to the same memory location.
22
+ ///
23
+ /// This intrinsic should be used for contention or weak ordering. It may
24
+ /// result in bad performance for hot data used by single thread only.
25
+ ///
26
+ /// \headerfile <x86intrin.h>
27
+ ///
28
+ /// This intrinsic corresponds to the \c AADD instruction.
29
+ ///
30
+ /// \param __A
31
+ /// A pointer to a 32-bit memory location.
32
+ /// \param __B
33
+ /// A 32-bit integer value.
34
+ ///
35
+ /// \code{.operation}
36
+ /// MEM[__A+31:__A] := MEM[__A+31:__A] + __B[31:0]
37
+ /// \endcode
38
+ static __inline__ void __DEFAULT_FN_ATTRS _aadd_i32(int *__A, int __B) {
39
+ __builtin_ia32_aadd32((int *)__A, __B);
40
+ }
41
+
42
+ /// Atomically and a 32-bit value at memory operand \a __A and a 32-bit \a __B,
43
+ /// and store the result to the same memory location.
44
+ ///
45
+ /// This intrinsic should be used for contention or weak ordering. It may
46
+ /// result in bad performance for hot data used by single thread only.
47
+ ///
48
+ /// \headerfile <x86intrin.h>
49
+ ///
50
+ /// This intrinsic corresponds to the \c AAND instruction.
51
+ ///
52
+ /// \param __A
53
+ /// A pointer to a 32-bit memory location.
54
+ /// \param __B
55
+ /// A 32-bit integer value.
56
+ ///
57
+ /// \code{.operation}
58
+ /// MEM[__A+31:__A] := MEM[__A+31:__A] AND __B[31:0]
59
+ /// \endcode
60
+ static __inline__ void __DEFAULT_FN_ATTRS _aand_i32(int *__A, int __B) {
61
+ __builtin_ia32_aand32((int *)__A, __B);
62
+ }
63
+
64
+ /// Atomically or a 32-bit value at memory operand \a __A and a 32-bit \a __B,
65
+ /// and store the result to the same memory location.
66
+ ///
67
+ /// This intrinsic should be used for contention or weak ordering. It may
68
+ /// result in bad performance for hot data used by single thread only.
69
+ ///
70
+ /// \headerfile <x86intrin.h>
71
+ ///
72
+ /// This intrinsic corresponds to the \c AOR instruction.
73
+ ///
74
+ /// \param __A
75
+ /// A pointer to a 32-bit memory location.
76
+ /// \param __B
77
+ /// A 32-bit integer value.
78
+ ///
79
+ /// \code{.operation}
80
+ /// MEM[__A+31:__A] := MEM[__A+31:__A] OR __B[31:0]
81
+ /// \endcode
82
+ static __inline__ void __DEFAULT_FN_ATTRS _aor_i32(int *__A, int __B) {
83
+ __builtin_ia32_aor32((int *)__A, __B);
84
+ }
85
+
86
+ /// Atomically xor a 32-bit value at memory operand \a __A and a 32-bit \a __B,
87
+ /// and store the result to the same memory location.
88
+ ///
89
+ /// This intrinsic should be used for contention or weak ordering. It may
90
+ /// result in bad performance for hot data used by single thread only.
91
+ ///
92
+ /// \headerfile <x86intrin.h>
93
+ ///
94
+ /// This intrinsic corresponds to the \c AXOR instruction.
95
+ ///
96
+ /// \param __A
97
+ /// A pointer to a 32-bit memory location.
98
+ /// \param __B
99
+ /// A 32-bit integer value.
100
+ ///
101
+ /// \code{.operation}
102
+ /// MEM[__A+31:__A] := MEM[__A+31:__A] XOR __B[31:0]
103
+ /// \endcode
104
+ static __inline__ void __DEFAULT_FN_ATTRS _axor_i32(int *__A, int __B) {
105
+ __builtin_ia32_axor32((int *)__A, __B);
106
+ }
107
+
108
+ #ifdef __x86_64__
109
+ /// Atomically add a 64-bit value at memory operand \a __A and a 64-bit \a __B,
110
+ /// and store the result to the same memory location.
111
+ ///
112
+ /// This intrinsic should be used for contention or weak ordering. It may
113
+ /// result in bad performance for hot data used by single thread only.
114
+ ///
115
+ /// \headerfile <x86intrin.h>
116
+ ///
117
+ /// This intrinsic corresponds to the \c AADD instruction.
118
+ ///
119
+ /// \param __A
120
+ /// A pointer to a 64-bit memory location.
121
+ /// \param __B
122
+ /// A 64-bit integer value.
123
+ ///
124
+ /// \code{.operation}
125
+ /// MEM[__A+63:__A] := MEM[__A+63:__A] + __B[63:0]
126
+ /// \endcode
127
+ static __inline__ void __DEFAULT_FN_ATTRS _aadd_i64(long long *__A,
128
+ long long __B) {
129
+ __builtin_ia32_aadd64((long long *)__A, __B);
130
+ }
131
+
132
+ /// Atomically and a 64-bit value at memory operand \a __A and a 64-bit \a __B,
133
+ /// and store the result to the same memory location.
134
+ ///
135
+ /// This intrinsic should be used for contention or weak ordering. It may
136
+ /// result in bad performance for hot data used by single thread only.
137
+ ///
138
+ /// \headerfile <x86intrin.h>
139
+ ///
140
+ /// This intrinsic corresponds to the \c AAND instruction.
141
+ ///
142
+ /// \param __A
143
+ /// A pointer to a 64-bit memory location.
144
+ /// \param __B
145
+ /// A 64-bit integer value.
146
+ ///
147
+ /// \code{.operation}
148
+ /// MEM[__A+63:__A] := MEM[__A+63:__A] AND __B[63:0]
149
+ /// \endcode
150
+ static __inline__ void __DEFAULT_FN_ATTRS _aand_i64(long long *__A,
151
+ long long __B) {
152
+ __builtin_ia32_aand64((long long *)__A, __B);
153
+ }
154
+
155
+ /// Atomically or a 64-bit value at memory operand \a __A and a 64-bit \a __B,
156
+ /// and store the result to the same memory location.
157
+ ///
158
+ /// This intrinsic should be used for contention or weak ordering. It may
159
+ /// result in bad performance for hot data used by single thread only.
160
+ ///
161
+ /// \headerfile <x86intrin.h>
162
+ ///
163
+ /// This intrinsic corresponds to the \c AOR instruction.
164
+ ///
165
+ /// \param __A
166
+ /// A pointer to a 64-bit memory location.
167
+ /// \param __B
168
+ /// A 64-bit integer value.
169
+ ///
170
+ /// \code{.operation}
171
+ /// MEM[__A+63:__A] := MEM[__A+63:__A] OR __B[63:0]
172
+ /// \endcode
173
+ static __inline__ void __DEFAULT_FN_ATTRS _aor_i64(long long *__A,
174
+ long long __B) {
175
+ __builtin_ia32_aor64((long long *)__A, __B);
176
+ }
177
+
178
+ /// Atomically xor a 64-bit value at memory operand \a __A and a 64-bit \a __B,
179
+ /// and store the result to the same memory location.
180
+ ///
181
+ /// This intrinsic should be used for contention or weak ordering. It may
182
+ /// result in bad performance for hot data used by single thread only.
183
+ ///
184
+ /// \headerfile <x86intrin.h>
185
+ ///
186
+ /// This intrinsic corresponds to the \c AXOR instruction.
187
+ ///
188
+ /// \param __A
189
+ /// A pointer to a 64-bit memory location.
190
+ /// \param __B
191
+ /// A 64-bit integer value.
192
+ ///
193
+ /// \code{.operation}
194
+ /// MEM[__A+63:__A] := MEM[__A+63:__A] XOR __B[63:0]
195
+ /// \endcode
196
+ static __inline__ void __DEFAULT_FN_ATTRS _axor_i64(long long *__A,
197
+ long long __B) {
198
+ __builtin_ia32_axor64((long long *)__A, __B);
199
+ }
200
+ #endif // __x86_64__
201
+
202
+ #undef __DEFAULT_FN_ATTRS
203
+ #endif // __RAOINTINTRIN_H
@@ -0,0 +1,57 @@
1
+ /*===---- rdpruintrin.h - RDPRU 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
+ #if !defined __X86INTRIN_H
11
+ #error "Never use <rdpruintrin.h> directly; include <x86intrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __RDPRUINTRIN_H
15
+ #define __RDPRUINTRIN_H
16
+
17
+ /* Define the default attributes for the functions in this file. */
18
+ #define __DEFAULT_FN_ATTRS \
19
+ __attribute__((__always_inline__, __nodebug__, __target__("rdpru")))
20
+
21
+
22
+ /// Reads the content of a processor register.
23
+ ///
24
+ /// \headerfile <x86intrin.h>
25
+ ///
26
+ /// This intrinsic corresponds to the <c> RDPRU </c> instruction.
27
+ ///
28
+ /// \param reg_id
29
+ /// A processor register identifier.
30
+ static __inline__ unsigned long long __DEFAULT_FN_ATTRS
31
+ __rdpru (int reg_id)
32
+ {
33
+ return __builtin_ia32_rdpru(reg_id);
34
+ }
35
+
36
+ #define __RDPRU_MPERF 0
37
+ #define __RDPRU_APERF 1
38
+
39
+ /// Reads the content of processor register MPERF.
40
+ ///
41
+ /// \headerfile <x86intrin.h>
42
+ ///
43
+ /// This intrinsic generates instruction <c> RDPRU </c> to read the value of
44
+ /// register MPERF.
45
+ #define __mperf() __builtin_ia32_rdpru(__RDPRU_MPERF)
46
+
47
+ /// Reads the content of processor register APERF.
48
+ ///
49
+ /// \headerfile <x86intrin.h>
50
+ ///
51
+ /// This intrinsic generates instruction <c> RDPRU </c> to read the value of
52
+ /// register APERF.
53
+ #define __aperf() __builtin_ia32_rdpru(__RDPRU_APERF)
54
+
55
+ #undef __DEFAULT_FN_ATTRS
56
+
57
+ #endif /* __RDPRUINTRIN_H */
@@ -0,0 +1,105 @@
1
+ /*===---- rdseedintrin.h - RDSEED 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 __IMMINTRIN_H
11
+ #error "Never use <rdseedintrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __RDSEEDINTRIN_H
15
+ #define __RDSEEDINTRIN_H
16
+
17
+ /* Define the default attributes for the functions in this file. */
18
+ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("rdseed")))
19
+
20
+ /// Stores a hardware-generated 16-bit random value in the memory at \a __p.
21
+ ///
22
+ /// The random number generator complies with NIST SP800-90B and SP800-90C.
23
+ ///
24
+ /// \code{.operation}
25
+ /// IF HW_NRND_GEN.ready == 1
26
+ /// Store16(__p, HW_NRND_GEN.data)
27
+ /// result := 1
28
+ /// ELSE
29
+ /// Store16(__p, 0)
30
+ /// result := 0
31
+ /// END
32
+ /// \endcode
33
+ ///
34
+ /// \headerfile <immintrin.h>
35
+ ///
36
+ /// This intrinsic corresponds to the \c RDSEED instruction.
37
+ ///
38
+ /// \param __p
39
+ /// Pointer to memory for storing the 16-bit random number.
40
+ /// \returns 1 if a random number was generated, 0 if not.
41
+ static __inline__ int __DEFAULT_FN_ATTRS
42
+ _rdseed16_step(unsigned short *__p)
43
+ {
44
+ return (int) __builtin_ia32_rdseed16_step(__p);
45
+ }
46
+
47
+ /// Stores a hardware-generated 32-bit random value in the memory at \a __p.
48
+ ///
49
+ /// The random number generator complies with NIST SP800-90B and SP800-90C.
50
+ ///
51
+ /// \code{.operation}
52
+ /// IF HW_NRND_GEN.ready == 1
53
+ /// Store32(__p, HW_NRND_GEN.data)
54
+ /// result := 1
55
+ /// ELSE
56
+ /// Store32(__p, 0)
57
+ /// result := 0
58
+ /// END
59
+ /// \endcode
60
+ ///
61
+ /// \headerfile <immintrin.h>
62
+ ///
63
+ /// This intrinsic corresponds to the \c RDSEED instruction.
64
+ ///
65
+ /// \param __p
66
+ /// Pointer to memory for storing the 32-bit random number.
67
+ /// \returns 1 if a random number was generated, 0 if not.
68
+ static __inline__ int __DEFAULT_FN_ATTRS
69
+ _rdseed32_step(unsigned int *__p)
70
+ {
71
+ return (int) __builtin_ia32_rdseed32_step(__p);
72
+ }
73
+
74
+ #ifdef __x86_64__
75
+ /// Stores a hardware-generated 64-bit random value in the memory at \a __p.
76
+ ///
77
+ /// The random number generator complies with NIST SP800-90B and SP800-90C.
78
+ ///
79
+ /// \code{.operation}
80
+ /// IF HW_NRND_GEN.ready == 1
81
+ /// Store64(__p, HW_NRND_GEN.data)
82
+ /// result := 1
83
+ /// ELSE
84
+ /// Store64(__p, 0)
85
+ /// result := 0
86
+ /// END
87
+ /// \endcode
88
+ ///
89
+ /// \headerfile <immintrin.h>
90
+ ///
91
+ /// This intrinsic corresponds to the \c RDSEED instruction.
92
+ ///
93
+ /// \param __p
94
+ /// Pointer to memory for storing the 64-bit random number.
95
+ /// \returns 1 if a random number was generated, 0 if not.
96
+ static __inline__ int __DEFAULT_FN_ATTRS
97
+ _rdseed64_step(unsigned long long *__p)
98
+ {
99
+ return (int) __builtin_ia32_rdseed64_step(__p);
100
+ }
101
+ #endif
102
+
103
+ #undef __DEFAULT_FN_ATTRS
104
+
105
+ #endif /* __RDSEEDINTRIN_H */
@@ -0,0 +1,28 @@
1
+ /*===---- riscv_ntlh.h - RISC-V NTLH 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_NTLH_H
11
+ #define __RISCV_NTLH_H
12
+
13
+ #ifndef __riscv_zihintntl
14
+ #error "NTLH intrinsics require the NTLH extension."
15
+ #endif
16
+
17
+ enum {
18
+ __RISCV_NTLH_INNERMOST_PRIVATE = 2,
19
+ __RISCV_NTLH_ALL_PRIVATE,
20
+ __RISCV_NTLH_INNERMOST_SHARED,
21
+ __RISCV_NTLH_ALL
22
+ };
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