@cpp-linter/clang-tidy-win32-x64 14.0.0 → 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 (203) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_intrinsics.h +7 -7
  4. package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_texture_intrinsics.h +2 -0
  5. package/lib/clang/{14.0.0 → 16}/include/__clang_hip_libdevice_declares.h +5 -0
  6. package/lib/clang/{14.0.0 → 16}/include/__clang_hip_math.h +10 -13
  7. package/lib/clang/{14.0.0 → 16}/include/__clang_hip_runtime_wrapper.h +1 -0
  8. package/lib/clang/16/include/__clang_hip_stdlib.h +43 -0
  9. package/lib/clang/{14.0.0 → 16}/include/__wmmintrin_pclmul.h +10 -10
  10. package/lib/clang/{14.0.0 → 16}/include/altivec.h +501 -262
  11. package/lib/clang/16/include/amxfp16intrin.h +58 -0
  12. package/lib/clang/{14.0.0 → 16}/include/amxintrin.h +32 -2
  13. package/lib/clang/{14.0.0 → 16}/include/arm_acle.h +76 -75
  14. package/lib/clang/{14.0.0 → 16}/include/arm_fp16.h +90 -90
  15. package/lib/clang/{14.0.0 → 16}/include/arm_neon.h +28468 -28638
  16. package/lib/clang/{14.0.0 → 16}/include/arm_neon_sve_bridge.h +0 -2
  17. package/lib/clang/{14.0.0 → 16}/include/arm_sve.h +7848 -7996
  18. package/lib/clang/{14.0.0 → 16}/include/avx2intrin.h +8 -8
  19. package/lib/clang/{14.0.0 → 16}/include/avx512bf16intrin.h +18 -15
  20. package/lib/clang/{14.0.0 → 16}/include/avx512bwintrin.h +12 -12
  21. package/lib/clang/{14.0.0 → 16}/include/avx512fintrin.h +78 -75
  22. package/lib/clang/{14.0.0 → 16}/include/avx512fp16intrin.h +6 -9
  23. package/lib/clang/{14.0.0 → 16}/include/avx512ifmavlintrin.h +13 -27
  24. package/lib/clang/{14.0.0 → 16}/include/avx512vlbf16intrin.h +31 -38
  25. package/lib/clang/{14.0.0 → 16}/include/avx512vlbwintrin.h +360 -8
  26. package/lib/clang/{14.0.0 → 16}/include/avx512vlfp16intrin.h +3 -0
  27. package/lib/clang/{14.0.0 → 16}/include/avx512vlintrin.h +81 -95
  28. package/lib/clang/{14.0.0 → 16}/include/avx512vlvnniintrin.h +16 -16
  29. package/lib/clang/16/include/avxifmaintrin.h +177 -0
  30. package/lib/clang/{14.0.0 → 16}/include/avxintrin.h +77 -32
  31. package/lib/clang/16/include/avxneconvertintrin.h +484 -0
  32. package/lib/clang/16/include/avxvnniint8intrin.h +471 -0
  33. package/lib/clang/{14.0.0 → 16}/include/avxvnniintrin.h +16 -16
  34. package/lib/clang/{14.0.0 → 16}/include/bmiintrin.h +6 -2
  35. package/lib/clang/{14.0.0 → 16}/include/cetintrin.h +12 -6
  36. package/lib/clang/16/include/cmpccxaddintrin.h +70 -0
  37. package/lib/clang/{14.0.0 → 16}/include/cpuid.h +12 -1
  38. package/lib/clang/16/include/cuda_wrappers/cmath +90 -0
  39. package/lib/clang/{14.0.0 → 16}/include/emmintrin.h +559 -769
  40. package/lib/clang/{14.0.0 → 16}/include/f16cintrin.h +3 -3
  41. package/lib/clang/{14.0.0 → 16}/include/float.h +17 -10
  42. package/lib/clang/{14.0.0 → 16}/include/gfniintrin.h +7 -5
  43. package/lib/clang/16/include/hlsl/hlsl_basic_types.h +67 -0
  44. package/lib/clang/16/include/hlsl/hlsl_intrinsics.h +223 -0
  45. package/lib/clang/16/include/hlsl.h +15 -0
  46. package/lib/clang/{14.0.0 → 16}/include/hresetintrin.h +2 -2
  47. package/lib/clang/{14.0.0 → 16}/include/ia32intrin.h +11 -11
  48. package/lib/clang/{14.0.0 → 16}/include/immintrin.h +56 -24
  49. package/lib/clang/{14.0.0 → 16}/include/intrin.h +12 -21
  50. package/lib/clang/{14.0.0 → 16}/include/keylockerintrin.h +22 -22
  51. package/lib/clang/16/include/larchintrin.h +234 -0
  52. package/lib/clang/{14.0.0 → 16}/include/limits.h +3 -2
  53. package/lib/clang/{14.0.0 → 16}/include/mm_malloc.h +3 -3
  54. package/lib/clang/{14.0.0 → 16}/include/opencl-c-base.h +29 -0
  55. package/lib/clang/{14.0.0 → 16}/include/opencl-c.h +6904 -7100
  56. package/lib/clang/{14.0.0 → 16}/include/pmmintrin.h +1 -1
  57. package/lib/clang/16/include/ppc_wrappers/bmi2intrin.h +134 -0
  58. package/lib/clang/16/include/ppc_wrappers/bmiintrin.h +165 -0
  59. package/lib/clang/16/include/ppc_wrappers/emmintrin.h +2268 -0
  60. package/lib/clang/16/include/ppc_wrappers/immintrin.h +27 -0
  61. package/lib/clang/{14.0.0 → 16}/include/ppc_wrappers/mm_malloc.h +12 -17
  62. package/lib/clang/{14.0.0 → 16}/include/ppc_wrappers/mmintrin.h +389 -387
  63. package/lib/clang/16/include/ppc_wrappers/pmmintrin.h +145 -0
  64. package/lib/clang/16/include/ppc_wrappers/smmintrin.h +663 -0
  65. package/lib/clang/16/include/ppc_wrappers/tmmintrin.h +453 -0
  66. package/lib/clang/{14.0.0/include/stdnoreturn.h → 16/include/ppc_wrappers/x86gprintrin.h} +7 -6
  67. package/lib/clang/16/include/ppc_wrappers/x86intrin.h +28 -0
  68. package/lib/clang/16/include/ppc_wrappers/xmmintrin.h +1827 -0
  69. package/lib/clang/16/include/prfchiintrin.h +61 -0
  70. package/lib/clang/16/include/raointintrin.h +203 -0
  71. package/lib/clang/16/include/rdpruintrin.h +57 -0
  72. package/lib/clang/{14.0.0 → 16}/include/rdseedintrin.h +3 -3
  73. package/lib/clang/16/include/riscv_vector.h +211 -0
  74. package/lib/clang/{14.0.0 → 16}/include/rtmintrin.h +1 -1
  75. package/lib/clang/{14.0.0 → 16}/include/smmintrin.h +236 -259
  76. package/lib/clang/{14.0.0 → 16}/include/stdarg.h +23 -7
  77. package/lib/clang/{14.0.0 → 16}/include/stdatomic.h +7 -7
  78. package/lib/clang/{14.0.0 → 16}/include/stdbool.h +10 -7
  79. package/lib/clang/{14.0.0 → 16}/include/stddef.h +9 -2
  80. package/lib/clang/{14.0.0 → 16}/include/stdint.h +158 -40
  81. package/lib/clang/16/include/stdnoreturn.h +29 -0
  82. package/lib/clang/{14.0.0 → 16}/include/uintrintrin.h +8 -8
  83. package/lib/clang/{14.0.0 → 16}/include/unwind.h +10 -6
  84. package/lib/clang/16/include/velintrin.h +71 -0
  85. package/lib/clang/16/include/velintrin_approx.h +120 -0
  86. package/lib/clang/16/include/velintrin_gen.h +1257 -0
  87. package/lib/clang/{14.0.0 → 16}/include/wasm_simd128.h +2 -2
  88. package/lib/clang/16/include/x86gprintrin.h +65 -0
  89. package/lib/clang/{14.0.0 → 16}/include/x86intrin.h +4 -0
  90. package/lib/clang/{14.0.0 → 16}/include/xmmintrin.h +10 -5
  91. package/package.json +6 -6
  92. package/lib/clang/14.0.0/include/ppc_wrappers/emmintrin.h +0 -2325
  93. package/lib/clang/14.0.0/include/ppc_wrappers/pmmintrin.h +0 -151
  94. package/lib/clang/14.0.0/include/ppc_wrappers/smmintrin.h +0 -110
  95. package/lib/clang/14.0.0/include/ppc_wrappers/tmmintrin.h +0 -496
  96. package/lib/clang/14.0.0/include/ppc_wrappers/xmmintrin.h +0 -1844
  97. package/lib/clang/14.0.0/include/riscv_vector.h +0 -95423
  98. package/lib/clang/14.0.0/include/x86gprintrin.h +0 -35
  99. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_builtin_vars.h +0 -0
  100. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_cmath.h +0 -0
  101. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_complex_builtins.h +0 -0
  102. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_device_functions.h +0 -0
  103. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_libdevice_declares.h +0 -0
  104. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_math.h +0 -0
  105. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_math_forward_declares.h +0 -0
  106. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_runtime_wrapper.h +0 -0
  107. /package/lib/clang/{14.0.0 → 16}/include/__clang_hip_cmath.h +0 -0
  108. /package/lib/clang/{14.0.0 → 16}/include/__stddef_max_align_t.h +0 -0
  109. /package/lib/clang/{14.0.0 → 16}/include/__wmmintrin_aes.h +0 -0
  110. /package/lib/clang/{14.0.0 → 16}/include/adxintrin.h +0 -0
  111. /package/lib/clang/{14.0.0 → 16}/include/ammintrin.h +0 -0
  112. /package/lib/clang/{14.0.0 → 16}/include/arm64intr.h +0 -0
  113. /package/lib/clang/{14.0.0 → 16}/include/arm_bf16.h +0 -0
  114. /package/lib/clang/{14.0.0 → 16}/include/arm_cde.h +0 -0
  115. /package/lib/clang/{14.0.0 → 16}/include/arm_cmse.h +0 -0
  116. /package/lib/clang/{14.0.0 → 16}/include/arm_mve.h +0 -0
  117. /package/lib/clang/{14.0.0 → 16}/include/armintr.h +0 -0
  118. /package/lib/clang/{14.0.0 → 16}/include/avx512bitalgintrin.h +0 -0
  119. /package/lib/clang/{14.0.0 → 16}/include/avx512cdintrin.h +0 -0
  120. /package/lib/clang/{14.0.0 → 16}/include/avx512dqintrin.h +0 -0
  121. /package/lib/clang/{14.0.0 → 16}/include/avx512erintrin.h +0 -0
  122. /package/lib/clang/{14.0.0 → 16}/include/avx512ifmaintrin.h +0 -0
  123. /package/lib/clang/{14.0.0 → 16}/include/avx512pfintrin.h +0 -0
  124. /package/lib/clang/{14.0.0 → 16}/include/avx512vbmi2intrin.h +0 -0
  125. /package/lib/clang/{14.0.0 → 16}/include/avx512vbmiintrin.h +0 -0
  126. /package/lib/clang/{14.0.0 → 16}/include/avx512vbmivlintrin.h +0 -0
  127. /package/lib/clang/{14.0.0 → 16}/include/avx512vlbitalgintrin.h +0 -0
  128. /package/lib/clang/{14.0.0 → 16}/include/avx512vlcdintrin.h +0 -0
  129. /package/lib/clang/{14.0.0 → 16}/include/avx512vldqintrin.h +0 -0
  130. /package/lib/clang/{14.0.0 → 16}/include/avx512vlvbmi2intrin.h +0 -0
  131. /package/lib/clang/{14.0.0 → 16}/include/avx512vlvp2intersectintrin.h +0 -0
  132. /package/lib/clang/{14.0.0 → 16}/include/avx512vnniintrin.h +0 -0
  133. /package/lib/clang/{14.0.0 → 16}/include/avx512vp2intersectintrin.h +0 -0
  134. /package/lib/clang/{14.0.0 → 16}/include/avx512vpopcntdqintrin.h +0 -0
  135. /package/lib/clang/{14.0.0 → 16}/include/avx512vpopcntdqvlintrin.h +0 -0
  136. /package/lib/clang/{14.0.0 → 16}/include/bmi2intrin.h +0 -0
  137. /package/lib/clang/{14.0.0 → 16}/include/builtins.h +0 -0
  138. /package/lib/clang/{14.0.0 → 16}/include/cet.h +0 -0
  139. /package/lib/clang/{14.0.0 → 16}/include/cldemoteintrin.h +0 -0
  140. /package/lib/clang/{14.0.0 → 16}/include/clflushoptintrin.h +0 -0
  141. /package/lib/clang/{14.0.0 → 16}/include/clwbintrin.h +0 -0
  142. /package/lib/clang/{14.0.0 → 16}/include/clzerointrin.h +0 -0
  143. /package/lib/clang/{14.0.0 → 16}/include/crc32intrin.h +0 -0
  144. /package/lib/clang/{14.0.0 → 16}/include/cuda_wrappers/algorithm +0 -0
  145. /package/lib/clang/{14.0.0 → 16}/include/cuda_wrappers/complex +0 -0
  146. /package/lib/clang/{14.0.0 → 16}/include/cuda_wrappers/new +0 -0
  147. /package/lib/clang/{14.0.0 → 16}/include/enqcmdintrin.h +0 -0
  148. /package/lib/clang/{14.0.0 → 16}/include/fma4intrin.h +0 -0
  149. /package/lib/clang/{14.0.0 → 16}/include/fmaintrin.h +0 -0
  150. /package/lib/clang/{14.0.0 → 16}/include/fxsrintrin.h +0 -0
  151. /package/lib/clang/{14.0.0 → 16}/include/hexagon_circ_brev_intrinsics.h +0 -0
  152. /package/lib/clang/{14.0.0 → 16}/include/hexagon_protos.h +0 -0
  153. /package/lib/clang/{14.0.0 → 16}/include/hexagon_types.h +0 -0
  154. /package/lib/clang/{14.0.0 → 16}/include/htmintrin.h +0 -0
  155. /package/lib/clang/{14.0.0 → 16}/include/htmxlintrin.h +0 -0
  156. /package/lib/clang/{14.0.0 → 16}/include/hvx_hexagon_protos.h +0 -0
  157. /package/lib/clang/{14.0.0 → 16}/include/inttypes.h +0 -0
  158. /package/lib/clang/{14.0.0 → 16}/include/invpcidintrin.h +0 -0
  159. /package/lib/clang/{14.0.0 → 16}/include/iso646.h +0 -0
  160. /package/lib/clang/{14.0.0 → 16}/include/lwpintrin.h +0 -0
  161. /package/lib/clang/{14.0.0 → 16}/include/lzcntintrin.h +0 -0
  162. /package/lib/clang/{14.0.0 → 16}/include/mm3dnow.h +0 -0
  163. /package/lib/clang/{14.0.0 → 16}/include/mmintrin.h +0 -0
  164. /package/lib/clang/{14.0.0 → 16}/include/module.modulemap +0 -0
  165. /package/lib/clang/{14.0.0 → 16}/include/movdirintrin.h +0 -0
  166. /package/lib/clang/{14.0.0 → 16}/include/msa.h +0 -0
  167. /package/lib/clang/{14.0.0 → 16}/include/mwaitxintrin.h +0 -0
  168. /package/lib/clang/{14.0.0 → 16}/include/nmmintrin.h +0 -0
  169. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
  170. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/cmath +0 -0
  171. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/complex +0 -0
  172. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/complex.h +0 -0
  173. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/complex_cmath.h +0 -0
  174. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/math.h +0 -0
  175. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/new +0 -0
  176. /package/lib/clang/{14.0.0 → 16}/include/pconfigintrin.h +0 -0
  177. /package/lib/clang/{14.0.0 → 16}/include/pkuintrin.h +0 -0
  178. /package/lib/clang/{14.0.0 → 16}/include/popcntintrin.h +0 -0
  179. /package/lib/clang/{14.0.0 → 16}/include/prfchwintrin.h +0 -0
  180. /package/lib/clang/{14.0.0 → 16}/include/ptwriteintrin.h +0 -0
  181. /package/lib/clang/{14.0.0 → 16}/include/s390intrin.h +0 -0
  182. /package/lib/clang/{14.0.0 → 16}/include/serializeintrin.h +0 -0
  183. /package/lib/clang/{14.0.0 → 16}/include/sgxintrin.h +0 -0
  184. /package/lib/clang/{14.0.0 → 16}/include/shaintrin.h +0 -0
  185. /package/lib/clang/{14.0.0 → 16}/include/stdalign.h +0 -0
  186. /package/lib/clang/{14.0.0 → 16}/include/tbmintrin.h +0 -0
  187. /package/lib/clang/{14.0.0 → 16}/include/tgmath.h +0 -0
  188. /package/lib/clang/{14.0.0 → 16}/include/tmmintrin.h +0 -0
  189. /package/lib/clang/{14.0.0 → 16}/include/tsxldtrkintrin.h +0 -0
  190. /package/lib/clang/{14.0.0 → 16}/include/vadefs.h +0 -0
  191. /package/lib/clang/{14.0.0 → 16}/include/vaesintrin.h +0 -0
  192. /package/lib/clang/{14.0.0 → 16}/include/varargs.h +0 -0
  193. /package/lib/clang/{14.0.0 → 16}/include/vecintrin.h +0 -0
  194. /package/lib/clang/{14.0.0 → 16}/include/vpclmulqdqintrin.h +0 -0
  195. /package/lib/clang/{14.0.0 → 16}/include/waitpkgintrin.h +0 -0
  196. /package/lib/clang/{14.0.0 → 16}/include/wbnoinvdintrin.h +0 -0
  197. /package/lib/clang/{14.0.0 → 16}/include/wmmintrin.h +0 -0
  198. /package/lib/clang/{14.0.0 → 16}/include/xopintrin.h +0 -0
  199. /package/lib/clang/{14.0.0 → 16}/include/xsavecintrin.h +0 -0
  200. /package/lib/clang/{14.0.0 → 16}/include/xsaveintrin.h +0 -0
  201. /package/lib/clang/{14.0.0 → 16}/include/xsaveoptintrin.h +0 -0
  202. /package/lib/clang/{14.0.0 → 16}/include/xsavesintrin.h +0 -0
  203. /package/lib/clang/{14.0.0 → 16}/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 */
@@ -20,20 +20,20 @@
20
20
  static __inline__ int __DEFAULT_FN_ATTRS
21
21
  _rdseed16_step(unsigned short *__p)
22
22
  {
23
- return __builtin_ia32_rdseed16_step(__p);
23
+ return (int) __builtin_ia32_rdseed16_step(__p);
24
24
  }
25
25
 
26
26
  static __inline__ int __DEFAULT_FN_ATTRS
27
27
  _rdseed32_step(unsigned int *__p)
28
28
  {
29
- return __builtin_ia32_rdseed32_step(__p);
29
+ return (int) __builtin_ia32_rdseed32_step(__p);
30
30
  }
31
31
 
32
32
  #ifdef __x86_64__
33
33
  static __inline__ int __DEFAULT_FN_ATTRS
34
34
  _rdseed64_step(unsigned long long *__p)
35
35
  {
36
- return __builtin_ia32_rdseed64_step(__p);
36
+ return (int) __builtin_ia32_rdseed64_step(__p);
37
37
  }
38
38
  #endif
39
39
 
@@ -0,0 +1,211 @@
1
+ /*===---- riscv_vector.h - RISC-V V-extension RVVIntrinsics -------------------===
2
+ *
3
+ *
4
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5
+ * See https://llvm.org/LICENSE.txt for license information.
6
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7
+ *
8
+ *===-----------------------------------------------------------------------===
9
+ */
10
+
11
+ #ifndef __RISCV_VECTOR_H
12
+ #define __RISCV_VECTOR_H
13
+
14
+ #include <stdint.h>
15
+ #include <stddef.h>
16
+
17
+ #ifndef __riscv_vector
18
+ #error "Vector intrinsics require the vector extension."
19
+ #endif
20
+
21
+ #ifdef __cplusplus
22
+ extern "C" {
23
+ #endif
24
+
25
+ #pragma clang riscv intrinsic vector
26
+
27
+
28
+ #define __riscv_vlenb() __builtin_rvv_vlenb()
29
+
30
+ enum RVV_CSR {
31
+ RVV_VSTART = 0,
32
+ RVV_VXSAT,
33
+ RVV_VXRM,
34
+ RVV_VCSR,
35
+ };
36
+
37
+ static __inline__ __attribute__((__always_inline__, __nodebug__))
38
+ unsigned long __riscv_vread_csr(enum RVV_CSR __csr) {
39
+ unsigned long __rv = 0;
40
+ switch (__csr) {
41
+ case RVV_VSTART:
42
+ __asm__ __volatile__ ("csrr\t%0, vstart" : "=r"(__rv) : : "memory");
43
+ break;
44
+ case RVV_VXSAT:
45
+ __asm__ __volatile__ ("csrr\t%0, vxsat" : "=r"(__rv) : : "memory");
46
+ break;
47
+ case RVV_VXRM:
48
+ __asm__ __volatile__ ("csrr\t%0, vxrm" : "=r"(__rv) : : "memory");
49
+ break;
50
+ case RVV_VCSR:
51
+ __asm__ __volatile__ ("csrr\t%0, vcsr" : "=r"(__rv) : : "memory");
52
+ break;
53
+ }
54
+ return __rv;
55
+ }
56
+
57
+ static __inline__ __attribute__((__always_inline__, __nodebug__))
58
+ void __riscv_vwrite_csr(enum RVV_CSR __csr, unsigned long __value) {
59
+ switch (__csr) {
60
+ case RVV_VSTART:
61
+ __asm__ __volatile__ ("csrw\tvstart, %z0" : : "rJ"(__value) : "memory");
62
+ break;
63
+ case RVV_VXSAT:
64
+ __asm__ __volatile__ ("csrw\tvxsat, %z0" : : "rJ"(__value) : "memory");
65
+ break;
66
+ case RVV_VXRM:
67
+ __asm__ __volatile__ ("csrw\tvxrm, %z0" : : "rJ"(__value) : "memory");
68
+ break;
69
+ case RVV_VCSR:
70
+ __asm__ __volatile__ ("csrw\tvcsr, %z0" : : "rJ"(__value) : "memory");
71
+ break;
72
+ }
73
+ }
74
+
75
+ #define __riscv_vsetvl_e8mf4(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 6)
76
+ #define __riscv_vsetvl_e8mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 7)
77
+ #define __riscv_vsetvl_e8m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 0)
78
+ #define __riscv_vsetvl_e8m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 1)
79
+ #define __riscv_vsetvl_e8m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 2)
80
+ #define __riscv_vsetvl_e8m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 3)
81
+
82
+ #define __riscv_vsetvl_e16mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 7)
83
+ #define __riscv_vsetvl_e16m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 0)
84
+ #define __riscv_vsetvl_e16m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 1)
85
+ #define __riscv_vsetvl_e16m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 2)
86
+ #define __riscv_vsetvl_e16m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 3)
87
+
88
+ #define __riscv_vsetvl_e32m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 0)
89
+ #define __riscv_vsetvl_e32m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 1)
90
+ #define __riscv_vsetvl_e32m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 2)
91
+ #define __riscv_vsetvl_e32m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 3)
92
+
93
+ #if __riscv_v_elen >= 64
94
+ #define __riscv_vsetvl_e8mf8(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 5)
95
+ #define __riscv_vsetvl_e16mf4(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 6)
96
+ #define __riscv_vsetvl_e32mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 7)
97
+
98
+ #define __riscv_vsetvl_e64m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 0)
99
+ #define __riscv_vsetvl_e64m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 1)
100
+ #define __riscv_vsetvl_e64m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 2)
101
+ #define __riscv_vsetvl_e64m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 3)
102
+ #endif
103
+
104
+ #define __riscv_vsetvlmax_e8mf4() __builtin_rvv_vsetvlimax(0, 6)
105
+ #define __riscv_vsetvlmax_e8mf2() __builtin_rvv_vsetvlimax(0, 7)
106
+ #define __riscv_vsetvlmax_e8m1() __builtin_rvv_vsetvlimax(0, 0)
107
+ #define __riscv_vsetvlmax_e8m2() __builtin_rvv_vsetvlimax(0, 1)
108
+ #define __riscv_vsetvlmax_e8m4() __builtin_rvv_vsetvlimax(0, 2)
109
+ #define __riscv_vsetvlmax_e8m8() __builtin_rvv_vsetvlimax(0, 3)
110
+
111
+ #define __riscv_vsetvlmax_e16mf2() __builtin_rvv_vsetvlimax(1, 7)
112
+ #define __riscv_vsetvlmax_e16m1() __builtin_rvv_vsetvlimax(1, 0)
113
+ #define __riscv_vsetvlmax_e16m2() __builtin_rvv_vsetvlimax(1, 1)
114
+ #define __riscv_vsetvlmax_e16m4() __builtin_rvv_vsetvlimax(1, 2)
115
+ #define __riscv_vsetvlmax_e16m8() __builtin_rvv_vsetvlimax(1, 3)
116
+
117
+ #define __riscv_vsetvlmax_e32m1() __builtin_rvv_vsetvlimax(2, 0)
118
+ #define __riscv_vsetvlmax_e32m2() __builtin_rvv_vsetvlimax(2, 1)
119
+ #define __riscv_vsetvlmax_e32m4() __builtin_rvv_vsetvlimax(2, 2)
120
+ #define __riscv_vsetvlmax_e32m8() __builtin_rvv_vsetvlimax(2, 3)
121
+
122
+ #if __riscv_v_elen >= 64
123
+ #define __riscv_vsetvlmax_e8mf8() __builtin_rvv_vsetvlimax(0, 5)
124
+ #define __riscv_vsetvlmax_e16mf4() __builtin_rvv_vsetvlimax(1, 6)
125
+ #define __riscv_vsetvlmax_e32mf2() __builtin_rvv_vsetvlimax(2, 7)
126
+
127
+ #define __riscv_vsetvlmax_e64m1() __builtin_rvv_vsetvlimax(3, 0)
128
+ #define __riscv_vsetvlmax_e64m2() __builtin_rvv_vsetvlimax(3, 1)
129
+ #define __riscv_vsetvlmax_e64m4() __builtin_rvv_vsetvlimax(3, 2)
130
+ #define __riscv_vsetvlmax_e64m8() __builtin_rvv_vsetvlimax(3, 3)
131
+ #endif
132
+
133
+ typedef __rvv_bool64_t vbool64_t;
134
+ typedef __rvv_bool32_t vbool32_t;
135
+ typedef __rvv_bool16_t vbool16_t;
136
+ typedef __rvv_bool8_t vbool8_t;
137
+ typedef __rvv_bool4_t vbool4_t;
138
+ typedef __rvv_bool2_t vbool2_t;
139
+ typedef __rvv_bool1_t vbool1_t;
140
+ typedef __rvv_int8mf8_t vint8mf8_t;
141
+ typedef __rvv_uint8mf8_t vuint8mf8_t;
142
+ typedef __rvv_int8mf4_t vint8mf4_t;
143
+ typedef __rvv_uint8mf4_t vuint8mf4_t;
144
+ typedef __rvv_int8mf2_t vint8mf2_t;
145
+ typedef __rvv_uint8mf2_t vuint8mf2_t;
146
+ typedef __rvv_int8m1_t vint8m1_t;
147
+ typedef __rvv_uint8m1_t vuint8m1_t;
148
+ typedef __rvv_int8m2_t vint8m2_t;
149
+ typedef __rvv_uint8m2_t vuint8m2_t;
150
+ typedef __rvv_int8m4_t vint8m4_t;
151
+ typedef __rvv_uint8m4_t vuint8m4_t;
152
+ typedef __rvv_int8m8_t vint8m8_t;
153
+ typedef __rvv_uint8m8_t vuint8m8_t;
154
+ typedef __rvv_int16mf4_t vint16mf4_t;
155
+ typedef __rvv_uint16mf4_t vuint16mf4_t;
156
+ typedef __rvv_int16mf2_t vint16mf2_t;
157
+ typedef __rvv_uint16mf2_t vuint16mf2_t;
158
+ typedef __rvv_int16m1_t vint16m1_t;
159
+ typedef __rvv_uint16m1_t vuint16m1_t;
160
+ typedef __rvv_int16m2_t vint16m2_t;
161
+ typedef __rvv_uint16m2_t vuint16m2_t;
162
+ typedef __rvv_int16m4_t vint16m4_t;
163
+ typedef __rvv_uint16m4_t vuint16m4_t;
164
+ typedef __rvv_int16m8_t vint16m8_t;
165
+ typedef __rvv_uint16m8_t vuint16m8_t;
166
+ typedef __rvv_int32mf2_t vint32mf2_t;
167
+ typedef __rvv_uint32mf2_t vuint32mf2_t;
168
+ typedef __rvv_int32m1_t vint32m1_t;
169
+ typedef __rvv_uint32m1_t vuint32m1_t;
170
+ typedef __rvv_int32m2_t vint32m2_t;
171
+ typedef __rvv_uint32m2_t vuint32m2_t;
172
+ typedef __rvv_int32m4_t vint32m4_t;
173
+ typedef __rvv_uint32m4_t vuint32m4_t;
174
+ typedef __rvv_int32m8_t vint32m8_t;
175
+ typedef __rvv_uint32m8_t vuint32m8_t;
176
+ typedef __rvv_int64m1_t vint64m1_t;
177
+ typedef __rvv_uint64m1_t vuint64m1_t;
178
+ typedef __rvv_int64m2_t vint64m2_t;
179
+ typedef __rvv_uint64m2_t vuint64m2_t;
180
+ typedef __rvv_int64m4_t vint64m4_t;
181
+ typedef __rvv_uint64m4_t vuint64m4_t;
182
+ typedef __rvv_int64m8_t vint64m8_t;
183
+ typedef __rvv_uint64m8_t vuint64m8_t;
184
+ #if defined(__riscv_zvfh)
185
+ typedef __rvv_float16mf4_t vfloat16mf4_t;
186
+ typedef __rvv_float16mf2_t vfloat16mf2_t;
187
+ typedef __rvv_float16m1_t vfloat16m1_t;
188
+ typedef __rvv_float16m2_t vfloat16m2_t;
189
+ typedef __rvv_float16m4_t vfloat16m4_t;
190
+ typedef __rvv_float16m8_t vfloat16m8_t;
191
+ #endif
192
+ #if (__riscv_v_elen_fp >= 32)
193
+ typedef __rvv_float32mf2_t vfloat32mf2_t;
194
+ typedef __rvv_float32m1_t vfloat32m1_t;
195
+ typedef __rvv_float32m2_t vfloat32m2_t;
196
+ typedef __rvv_float32m4_t vfloat32m4_t;
197
+ typedef __rvv_float32m8_t vfloat32m8_t;
198
+ #endif
199
+ #if (__riscv_v_elen_fp >= 64)
200
+ typedef __rvv_float64m1_t vfloat64m1_t;
201
+ typedef __rvv_float64m2_t vfloat64m2_t;
202
+ typedef __rvv_float64m4_t vfloat64m4_t;
203
+ typedef __rvv_float64m8_t vfloat64m8_t;
204
+ #endif
205
+
206
+ #define __riscv_v_intrinsic_overloading 1
207
+
208
+ #ifdef __cplusplus
209
+ }
210
+ #endif // __cplusplus
211
+ #endif // __RISCV_VECTOR_H
@@ -29,7 +29,7 @@
29
29
  static __inline__ unsigned int __DEFAULT_FN_ATTRS
30
30
  _xbegin(void)
31
31
  {
32
- return __builtin_ia32_xbegin();
32
+ return (unsigned int)__builtin_ia32_xbegin();
33
33
  }
34
34
 
35
35
  static __inline__ void __DEFAULT_FN_ATTRS