@cpp-linter/clang-tidy-darwin-x64 16.0.3 → 18.1.5

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 (250) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy +2 -2
  3. package/lib/clang/{16 → 18}/include/__clang_cuda_device_functions.h +2 -2
  4. package/lib/clang/{16 → 18}/include/__clang_cuda_intrinsics.h +191 -0
  5. package/lib/clang/{16 → 18}/include/__clang_cuda_libdevice_declares.h +2 -2
  6. package/lib/clang/{16 → 18}/include/__clang_cuda_math.h +3 -3
  7. package/lib/clang/{16 → 18}/include/__clang_cuda_runtime_wrapper.h +2 -2
  8. package/lib/clang/{16 → 18}/include/__clang_hip_cmath.h +1 -1
  9. package/lib/clang/{16 → 18}/include/__clang_hip_libdevice_declares.h +32 -30
  10. package/lib/clang/{16 → 18}/include/__clang_hip_math.h +244 -238
  11. package/lib/clang/{16 → 18}/include/__clang_hip_runtime_wrapper.h +44 -23
  12. package/lib/clang/18/include/__stdarg___gnuc_va_list.h +13 -0
  13. package/lib/clang/18/include/__stdarg___va_copy.h +12 -0
  14. package/lib/clang/18/include/__stdarg_va_arg.h +22 -0
  15. package/lib/clang/18/include/__stdarg_va_copy.h +12 -0
  16. package/lib/clang/18/include/__stdarg_va_list.h +13 -0
  17. package/lib/clang/{16 → 18}/include/__stddef_max_align_t.h +1 -1
  18. package/lib/clang/18/include/__stddef_null.h +29 -0
  19. package/lib/clang/18/include/__stddef_nullptr_t.h +29 -0
  20. package/lib/clang/18/include/__stddef_offsetof.h +17 -0
  21. package/lib/clang/18/include/__stddef_ptrdiff_t.h +20 -0
  22. package/lib/clang/18/include/__stddef_rsize_t.h +20 -0
  23. package/lib/clang/18/include/__stddef_size_t.h +20 -0
  24. package/lib/clang/18/include/__stddef_unreachable.h +21 -0
  25. package/lib/clang/18/include/__stddef_wchar_t.h +28 -0
  26. package/lib/clang/18/include/__stddef_wint_t.h +15 -0
  27. package/lib/clang/18/include/adcintrin.h +160 -0
  28. package/lib/clang/18/include/adxintrin.h +102 -0
  29. package/lib/clang/{16 → 18}/include/altivec.h +167 -136
  30. package/lib/clang/{16 → 18}/include/ammintrin.h +4 -4
  31. package/lib/clang/18/include/amxcomplexintrin.h +169 -0
  32. package/lib/clang/{16 → 18}/include/arm_acle.h +124 -40
  33. package/lib/clang/{16 → 18}/include/arm_neon.h +249 -328
  34. package/lib/clang/18/include/arm_sme.h +2412 -0
  35. package/lib/clang/{16 → 18}/include/arm_sve.h +7454 -364
  36. package/lib/clang/18/include/arm_vector_types.h +345 -0
  37. package/lib/clang/18/include/avx2intrin.h +5284 -0
  38. package/lib/clang/{16 → 18}/include/avx512bf16intrin.h +3 -2
  39. package/lib/clang/{16 → 18}/include/avx512bitalgintrin.h +4 -1
  40. package/lib/clang/{16 → 18}/include/avx512bwintrin.h +28 -38
  41. package/lib/clang/{16 → 18}/include/avx512cdintrin.h +3 -1
  42. package/lib/clang/{16 → 18}/include/avx512dqintrin.h +4 -2
  43. package/lib/clang/{16 → 18}/include/avx512fintrin.h +24 -10
  44. package/lib/clang/{16 → 18}/include/avx512fp16intrin.h +18 -12
  45. package/lib/clang/{16 → 18}/include/avx512ifmaintrin.h +3 -1
  46. package/lib/clang/{16 → 18}/include/avx512ifmavlintrin.h +8 -2
  47. package/lib/clang/{16 → 18}/include/avx512pfintrin.h +0 -5
  48. package/lib/clang/{16 → 18}/include/avx512vbmi2intrin.h +1 -1
  49. package/lib/clang/{16 → 18}/include/avx512vbmiintrin.h +3 -2
  50. package/lib/clang/{16 → 18}/include/avx512vbmivlintrin.h +8 -3
  51. package/lib/clang/{16 → 18}/include/avx512vlbf16intrin.h +8 -6
  52. package/lib/clang/{16 → 18}/include/avx512vlbitalgintrin.h +8 -2
  53. package/lib/clang/{16 → 18}/include/avx512vlbwintrin.h +8 -2
  54. package/lib/clang/{16 → 18}/include/avx512vlcdintrin.h +8 -3
  55. package/lib/clang/{16 → 18}/include/avx512vldqintrin.h +8 -2
  56. package/lib/clang/{16 → 18}/include/avx512vlfp16intrin.h +2 -2
  57. package/lib/clang/{16 → 18}/include/avx512vlintrin.h +8 -2
  58. package/lib/clang/{16 → 18}/include/avx512vlvbmi2intrin.h +8 -2
  59. package/lib/clang/{16 → 18}/include/avx512vlvnniintrin.h +8 -2
  60. package/lib/clang/{16 → 18}/include/avx512vlvp2intersectintrin.h +6 -4
  61. package/lib/clang/{16 → 18}/include/avx512vnniintrin.h +3 -2
  62. package/lib/clang/{16 → 18}/include/avx512vp2intersectintrin.h +3 -2
  63. package/lib/clang/{16 → 18}/include/avx512vpopcntdqintrin.h +3 -1
  64. package/lib/clang/{16 → 18}/include/avx512vpopcntdqvlintrin.h +6 -2
  65. package/lib/clang/{16 → 18}/include/avxintrin.h +29 -12
  66. package/lib/clang/18/include/avxvnniint16intrin.h +473 -0
  67. package/lib/clang/18/include/bmi2intrin.h +255 -0
  68. package/lib/clang/{16 → 18}/include/bmiintrin.h +231 -46
  69. package/lib/clang/{16 → 18}/include/clflushoptintrin.h +9 -0
  70. package/lib/clang/{16 → 18}/include/clzerointrin.h +7 -5
  71. package/lib/clang/18/include/cuda_wrappers/bits/basic_string.h +9 -0
  72. package/lib/clang/18/include/cuda_wrappers/bits/basic_string.tcc +9 -0
  73. package/lib/clang/18/include/cuda_wrappers/bits/shared_ptr_base.h +9 -0
  74. package/lib/clang/{16 → 18}/include/emmintrin.h +10 -10
  75. package/lib/clang/18/include/fmaintrin.h +780 -0
  76. package/lib/clang/{16 → 18}/include/gfniintrin.h +23 -6
  77. package/lib/clang/18/include/hlsl/hlsl_intrinsics.h +624 -0
  78. package/lib/clang/18/include/ia32intrin.h +863 -0
  79. package/lib/clang/{16 → 18}/include/immintrin.h +182 -11
  80. package/lib/clang/{16 → 18}/include/intrin.h +16 -0
  81. package/lib/clang/{16 → 18}/include/larchintrin.h +13 -1
  82. package/lib/clang/18/include/lasxintrin.h +3884 -0
  83. package/lib/clang/{16 → 18}/include/limits.h +7 -5
  84. package/lib/clang/18/include/llvm_libc_wrappers/assert.h +34 -0
  85. package/lib/clang/18/include/llvm_libc_wrappers/ctype.h +102 -0
  86. package/lib/clang/18/include/llvm_libc_wrappers/inttypes.h +34 -0
  87. package/lib/clang/18/include/llvm_libc_wrappers/stdio.h +80 -0
  88. package/lib/clang/18/include/llvm_libc_wrappers/stdlib.h +45 -0
  89. package/lib/clang/18/include/llvm_libc_wrappers/string.h +96 -0
  90. package/lib/clang/18/include/llvm_libc_wrappers/time.h +34 -0
  91. package/lib/clang/18/include/lsxintrin.h +3750 -0
  92. package/lib/clang/{16 → 18}/include/mmintrin.h +7 -5
  93. package/lib/clang/{16 → 18}/include/module.modulemap +155 -2
  94. package/lib/clang/18/include/mwaitxintrin.h +62 -0
  95. package/lib/clang/{16 → 18}/include/opencl-c-base.h +8 -0
  96. package/lib/clang/{16 → 18}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -1
  97. package/lib/clang/{16 → 18}/include/openmp_wrappers/cmath +1 -1
  98. package/lib/clang/{16 → 18}/include/openmp_wrappers/new +1 -1
  99. package/lib/clang/{16 → 18}/include/pmmintrin.h +15 -8
  100. package/lib/clang/{16 → 18}/include/ppc_wrappers/emmintrin.h +2 -1
  101. package/lib/clang/18/include/ppc_wrappers/nmmintrin.h +26 -0
  102. package/lib/clang/{16 → 18}/include/ppc_wrappers/smmintrin.h +37 -17
  103. package/lib/clang/18/include/rdseedintrin.h +105 -0
  104. package/lib/clang/18/include/riscv_bitmanip.h +195 -0
  105. package/lib/clang/18/include/riscv_crypto.h +170 -0
  106. package/lib/clang/18/include/riscv_ntlh.h +26 -0
  107. package/lib/clang/18/include/riscv_vector.h +431 -0
  108. package/lib/clang/18/include/sha512intrin.h +200 -0
  109. package/lib/clang/18/include/shaintrin.h +189 -0
  110. package/lib/clang/18/include/sifive_vector.h +16 -0
  111. package/lib/clang/18/include/sm3intrin.h +238 -0
  112. package/lib/clang/18/include/sm4intrin.h +269 -0
  113. package/lib/clang/{16 → 18}/include/smmintrin.h +3 -3
  114. package/lib/clang/{16 → 18}/include/stdalign.h +3 -0
  115. package/lib/clang/18/include/stdarg.h +79 -0
  116. package/lib/clang/{16 → 18}/include/stdatomic.h +7 -2
  117. package/lib/clang/18/include/stdckdint.h +42 -0
  118. package/lib/clang/18/include/stddef.h +123 -0
  119. package/lib/clang/{16 → 18}/include/stdint.h +19 -48
  120. package/lib/clang/{16 → 18}/include/stdnoreturn.h +2 -2
  121. package/lib/clang/{16 → 18}/include/tmmintrin.h +7 -2
  122. package/lib/clang/18/include/usermsrintrin.h +51 -0
  123. package/lib/clang/{16 → 18}/include/vaesintrin.h +4 -2
  124. package/lib/clang/{16 → 18}/include/vecintrin.h +217 -199
  125. package/lib/clang/{16 → 18}/include/wasm_simd128.h +132 -12
  126. package/lib/clang/{16 → 18}/include/x86gprintrin.h +5 -0
  127. package/lib/clang/{16 → 18}/include/xmmintrin.h +9 -5
  128. package/lib/clang/18/include/xsavecintrin.h +84 -0
  129. package/package.json +6 -6
  130. package/lib/clang/16/include/adxintrin.h +0 -72
  131. package/lib/clang/16/include/avx2intrin.h +0 -1148
  132. package/lib/clang/16/include/bmi2intrin.h +0 -81
  133. package/lib/clang/16/include/fmaintrin.h +0 -216
  134. package/lib/clang/16/include/hlsl/hlsl_intrinsics.h +0 -223
  135. package/lib/clang/16/include/ia32intrin.h +0 -441
  136. package/lib/clang/16/include/mwaitxintrin.h +0 -33
  137. package/lib/clang/16/include/rdseedintrin.h +0 -42
  138. package/lib/clang/16/include/riscv_vector.h +0 -211
  139. package/lib/clang/16/include/shaintrin.h +0 -61
  140. package/lib/clang/16/include/stdarg.h +0 -51
  141. package/lib/clang/16/include/stddef.h +0 -128
  142. package/lib/clang/16/include/xsavecintrin.h +0 -34
  143. /package/lib/clang/{16 → 18}/include/__clang_cuda_builtin_vars.h +0 -0
  144. /package/lib/clang/{16 → 18}/include/__clang_cuda_cmath.h +0 -0
  145. /package/lib/clang/{16 → 18}/include/__clang_cuda_complex_builtins.h +0 -0
  146. /package/lib/clang/{16 → 18}/include/__clang_cuda_math_forward_declares.h +0 -0
  147. /package/lib/clang/{16 → 18}/include/__clang_cuda_texture_intrinsics.h +0 -0
  148. /package/lib/clang/{16 → 18}/include/__clang_hip_stdlib.h +0 -0
  149. /package/lib/clang/{16 → 18}/include/__wmmintrin_aes.h +0 -0
  150. /package/lib/clang/{16 → 18}/include/__wmmintrin_pclmul.h +0 -0
  151. /package/lib/clang/{16 → 18}/include/amxfp16intrin.h +0 -0
  152. /package/lib/clang/{16 → 18}/include/amxintrin.h +0 -0
  153. /package/lib/clang/{16 → 18}/include/arm64intr.h +0 -0
  154. /package/lib/clang/{16 → 18}/include/arm_bf16.h +0 -0
  155. /package/lib/clang/{16 → 18}/include/arm_cde.h +0 -0
  156. /package/lib/clang/{16 → 18}/include/arm_cmse.h +0 -0
  157. /package/lib/clang/{16 → 18}/include/arm_fp16.h +0 -0
  158. /package/lib/clang/{16 → 18}/include/arm_mve.h +0 -0
  159. /package/lib/clang/{16 → 18}/include/arm_neon_sve_bridge.h +0 -0
  160. /package/lib/clang/{16 → 18}/include/armintr.h +0 -0
  161. /package/lib/clang/{16 → 18}/include/avx512erintrin.h +0 -0
  162. /package/lib/clang/{16 → 18}/include/avxifmaintrin.h +0 -0
  163. /package/lib/clang/{16 → 18}/include/avxneconvertintrin.h +0 -0
  164. /package/lib/clang/{16 → 18}/include/avxvnniint8intrin.h +0 -0
  165. /package/lib/clang/{16 → 18}/include/avxvnniintrin.h +0 -0
  166. /package/lib/clang/{16 → 18}/include/builtins.h +0 -0
  167. /package/lib/clang/{16 → 18}/include/cet.h +0 -0
  168. /package/lib/clang/{16 → 18}/include/cetintrin.h +0 -0
  169. /package/lib/clang/{16 → 18}/include/cldemoteintrin.h +0 -0
  170. /package/lib/clang/{16 → 18}/include/clwbintrin.h +0 -0
  171. /package/lib/clang/{16 → 18}/include/cmpccxaddintrin.h +0 -0
  172. /package/lib/clang/{16 → 18}/include/cpuid.h +0 -0
  173. /package/lib/clang/{16 → 18}/include/crc32intrin.h +0 -0
  174. /package/lib/clang/{16 → 18}/include/cuda_wrappers/algorithm +0 -0
  175. /package/lib/clang/{16 → 18}/include/cuda_wrappers/cmath +0 -0
  176. /package/lib/clang/{16 → 18}/include/cuda_wrappers/complex +0 -0
  177. /package/lib/clang/{16 → 18}/include/cuda_wrappers/new +0 -0
  178. /package/lib/clang/{16 → 18}/include/enqcmdintrin.h +0 -0
  179. /package/lib/clang/{16 → 18}/include/f16cintrin.h +0 -0
  180. /package/lib/clang/{16 → 18}/include/float.h +0 -0
  181. /package/lib/clang/{16 → 18}/include/fma4intrin.h +0 -0
  182. /package/lib/clang/{16 → 18}/include/fxsrintrin.h +0 -0
  183. /package/lib/clang/{16 → 18}/include/hexagon_circ_brev_intrinsics.h +0 -0
  184. /package/lib/clang/{16 → 18}/include/hexagon_protos.h +0 -0
  185. /package/lib/clang/{16 → 18}/include/hexagon_types.h +0 -0
  186. /package/lib/clang/{16 → 18}/include/hlsl/hlsl_basic_types.h +0 -0
  187. /package/lib/clang/{16 → 18}/include/hlsl.h +0 -0
  188. /package/lib/clang/{16 → 18}/include/hresetintrin.h +0 -0
  189. /package/lib/clang/{16 → 18}/include/htmintrin.h +0 -0
  190. /package/lib/clang/{16 → 18}/include/htmxlintrin.h +0 -0
  191. /package/lib/clang/{16 → 18}/include/hvx_hexagon_protos.h +0 -0
  192. /package/lib/clang/{16 → 18}/include/inttypes.h +0 -0
  193. /package/lib/clang/{16 → 18}/include/invpcidintrin.h +0 -0
  194. /package/lib/clang/{16 → 18}/include/iso646.h +0 -0
  195. /package/lib/clang/{16 → 18}/include/keylockerintrin.h +0 -0
  196. /package/lib/clang/{16 → 18}/include/lwpintrin.h +0 -0
  197. /package/lib/clang/{16 → 18}/include/lzcntintrin.h +0 -0
  198. /package/lib/clang/{16 → 18}/include/mm3dnow.h +0 -0
  199. /package/lib/clang/{16 → 18}/include/mm_malloc.h +0 -0
  200. /package/lib/clang/{16 → 18}/include/movdirintrin.h +0 -0
  201. /package/lib/clang/{16 → 18}/include/msa.h +0 -0
  202. /package/lib/clang/{16 → 18}/include/nmmintrin.h +0 -0
  203. /package/lib/clang/{16 → 18}/include/opencl-c.h +0 -0
  204. /package/lib/clang/{16 → 18}/include/openmp_wrappers/complex +0 -0
  205. /package/lib/clang/{16 → 18}/include/openmp_wrappers/complex.h +0 -0
  206. /package/lib/clang/{16 → 18}/include/openmp_wrappers/complex_cmath.h +0 -0
  207. /package/lib/clang/{16 → 18}/include/openmp_wrappers/math.h +0 -0
  208. /package/lib/clang/{16 → 18}/include/pconfigintrin.h +0 -0
  209. /package/lib/clang/{16 → 18}/include/pkuintrin.h +0 -0
  210. /package/lib/clang/{16 → 18}/include/popcntintrin.h +0 -0
  211. /package/lib/clang/{16 → 18}/include/ppc_wrappers/bmi2intrin.h +0 -0
  212. /package/lib/clang/{16 → 18}/include/ppc_wrappers/bmiintrin.h +0 -0
  213. /package/lib/clang/{16 → 18}/include/ppc_wrappers/immintrin.h +0 -0
  214. /package/lib/clang/{16 → 18}/include/ppc_wrappers/mm_malloc.h +0 -0
  215. /package/lib/clang/{16 → 18}/include/ppc_wrappers/mmintrin.h +0 -0
  216. /package/lib/clang/{16 → 18}/include/ppc_wrappers/pmmintrin.h +0 -0
  217. /package/lib/clang/{16 → 18}/include/ppc_wrappers/tmmintrin.h +0 -0
  218. /package/lib/clang/{16 → 18}/include/ppc_wrappers/x86gprintrin.h +0 -0
  219. /package/lib/clang/{16 → 18}/include/ppc_wrappers/x86intrin.h +0 -0
  220. /package/lib/clang/{16 → 18}/include/ppc_wrappers/xmmintrin.h +0 -0
  221. /package/lib/clang/{16 → 18}/include/prfchiintrin.h +0 -0
  222. /package/lib/clang/{16 → 18}/include/prfchwintrin.h +0 -0
  223. /package/lib/clang/{16 → 18}/include/ptwriteintrin.h +0 -0
  224. /package/lib/clang/{16 → 18}/include/raointintrin.h +0 -0
  225. /package/lib/clang/{16 → 18}/include/rdpruintrin.h +0 -0
  226. /package/lib/clang/{16 → 18}/include/rtmintrin.h +0 -0
  227. /package/lib/clang/{16 → 18}/include/s390intrin.h +0 -0
  228. /package/lib/clang/{16 → 18}/include/serializeintrin.h +0 -0
  229. /package/lib/clang/{16 → 18}/include/sgxintrin.h +0 -0
  230. /package/lib/clang/{16 → 18}/include/stdbool.h +0 -0
  231. /package/lib/clang/{16 → 18}/include/tbmintrin.h +0 -0
  232. /package/lib/clang/{16 → 18}/include/tgmath.h +0 -0
  233. /package/lib/clang/{16 → 18}/include/tsxldtrkintrin.h +0 -0
  234. /package/lib/clang/{16 → 18}/include/uintrintrin.h +0 -0
  235. /package/lib/clang/{16 → 18}/include/unwind.h +0 -0
  236. /package/lib/clang/{16 → 18}/include/vadefs.h +0 -0
  237. /package/lib/clang/{16 → 18}/include/varargs.h +0 -0
  238. /package/lib/clang/{16 → 18}/include/velintrin.h +0 -0
  239. /package/lib/clang/{16 → 18}/include/velintrin_approx.h +0 -0
  240. /package/lib/clang/{16 → 18}/include/velintrin_gen.h +0 -0
  241. /package/lib/clang/{16 → 18}/include/vpclmulqdqintrin.h +0 -0
  242. /package/lib/clang/{16 → 18}/include/waitpkgintrin.h +0 -0
  243. /package/lib/clang/{16 → 18}/include/wbnoinvdintrin.h +0 -0
  244. /package/lib/clang/{16 → 18}/include/wmmintrin.h +0 -0
  245. /package/lib/clang/{16 → 18}/include/x86intrin.h +0 -0
  246. /package/lib/clang/{16 → 18}/include/xopintrin.h +0 -0
  247. /package/lib/clang/{16 → 18}/include/xsaveintrin.h +0 -0
  248. /package/lib/clang/{16 → 18}/include/xsaveoptintrin.h +0 -0
  249. /package/lib/clang/{16 → 18}/include/xsavesintrin.h +0 -0
  250. /package/lib/clang/{16 → 18}/include/xtestintrin.h +0 -0
@@ -269,13 +269,35 @@
269
269
  #include <avxneconvertintrin.h>
270
270
  #endif
271
271
 
272
+ #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
273
+ defined(__SHA512__)
274
+ #include <sha512intrin.h>
275
+ #endif
276
+
277
+ #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
278
+ defined(__SM3__)
279
+ #include <sm3intrin.h>
280
+ #endif
281
+
282
+ #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
283
+ defined(__SM4__)
284
+ #include <sm4intrin.h>
285
+ #endif
286
+
287
+ #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
288
+ defined(__AVXVNNIINT16__)
289
+ #include <avxvnniint16intrin.h>
290
+ #endif
291
+
272
292
  #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
273
293
  defined(__RDPID__)
274
- /// Returns the value of the IA32_TSC_AUX MSR (0xc0000103).
294
+ /// Reads the value of the IA32_TSC_AUX MSR (0xc0000103).
275
295
  ///
276
296
  /// \headerfile <immintrin.h>
277
297
  ///
278
298
  /// This intrinsic corresponds to the <c> RDPID </c> instruction.
299
+ ///
300
+ /// \returns The 32-bit contents of the MSR.
279
301
  static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__, __target__("rdpid")))
280
302
  _rdpid_u32(void) {
281
303
  return __builtin_ia32_rdpid();
@@ -284,30 +306,53 @@ _rdpid_u32(void) {
284
306
 
285
307
  #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
286
308
  defined(__RDRND__)
309
+ /// Returns a 16-bit hardware-generated random value.
310
+ ///
311
+ /// \headerfile <immintrin.h>
312
+ ///
313
+ /// This intrinsic corresponds to the <c> RDRAND </c> instruction.
314
+ ///
315
+ /// \param __p
316
+ /// A pointer to a 16-bit memory location to place the random value.
317
+ /// \returns 1 if the value was successfully generated, 0 otherwise.
287
318
  static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("rdrnd")))
288
319
  _rdrand16_step(unsigned short *__p)
289
320
  {
290
321
  return (int)__builtin_ia32_rdrand16_step(__p);
291
322
  }
292
323
 
324
+ /// Returns a 32-bit hardware-generated random value.
325
+ ///
326
+ /// \headerfile <immintrin.h>
327
+ ///
328
+ /// This intrinsic corresponds to the <c> RDRAND </c> instruction.
329
+ ///
330
+ /// \param __p
331
+ /// A pointer to a 32-bit memory location to place the random value.
332
+ /// \returns 1 if the value was successfully generated, 0 otherwise.
293
333
  static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("rdrnd")))
294
334
  _rdrand32_step(unsigned int *__p)
295
335
  {
296
336
  return (int)__builtin_ia32_rdrand32_step(__p);
297
337
  }
298
338
 
299
- #ifdef __x86_64__
339
+ /// Returns a 64-bit hardware-generated random value.
340
+ ///
341
+ /// \headerfile <immintrin.h>
342
+ ///
343
+ /// This intrinsic corresponds to the <c> RDRAND </c> instruction.
344
+ ///
345
+ /// \param __p
346
+ /// A pointer to a 64-bit memory location to place the random value.
347
+ /// \returns 1 if the value was successfully generated, 0 otherwise.
300
348
  static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("rdrnd")))
301
349
  _rdrand64_step(unsigned long long *__p)
302
350
  {
351
+ #ifdef __x86_64__
303
352
  return (int)__builtin_ia32_rdrand64_step(__p);
304
- }
305
353
  #else
306
- // We need to emulate the functionality of 64-bit rdrand with 2 32-bit
307
- // rdrand instructions.
308
- static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("rdrnd")))
309
- _rdrand64_step(unsigned long long *__p)
310
- {
354
+ // We need to emulate the functionality of 64-bit rdrand with 2 32-bit
355
+ // rdrand instructions.
311
356
  unsigned int __lo, __hi;
312
357
  unsigned int __res_lo = __builtin_ia32_rdrand32_step(&__lo);
313
358
  unsigned int __res_hi = __builtin_ia32_rdrand32_step(&__hi);
@@ -318,55 +363,115 @@ _rdrand64_step(unsigned long long *__p)
318
363
  *__p = 0;
319
364
  return 0;
320
365
  }
321
- }
322
366
  #endif
367
+ }
323
368
  #endif /* __RDRND__ */
324
369
 
325
370
  #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
326
371
  defined(__FSGSBASE__)
327
372
  #ifdef __x86_64__
373
+ /// Reads the FS base register.
374
+ ///
375
+ /// \headerfile <immintrin.h>
376
+ ///
377
+ /// This intrinsic corresponds to the <c> RDFSBASE </c> instruction.
378
+ ///
379
+ /// \returns The lower 32 bits of the FS base register.
328
380
  static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
329
381
  _readfsbase_u32(void)
330
382
  {
331
383
  return __builtin_ia32_rdfsbase32();
332
384
  }
333
385
 
386
+ /// Reads the FS base register.
387
+ ///
388
+ /// \headerfile <immintrin.h>
389
+ ///
390
+ /// This intrinsic corresponds to the <c> RDFSBASE </c> instruction.
391
+ ///
392
+ /// \returns The contents of the FS base register.
334
393
  static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
335
394
  _readfsbase_u64(void)
336
395
  {
337
396
  return __builtin_ia32_rdfsbase64();
338
397
  }
339
398
 
399
+ /// Reads the GS base register.
400
+ ///
401
+ /// \headerfile <immintrin.h>
402
+ ///
403
+ /// This intrinsic corresponds to the <c> RDGSBASE </c> instruction.
404
+ ///
405
+ /// \returns The lower 32 bits of the GS base register.
340
406
  static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
341
407
  _readgsbase_u32(void)
342
408
  {
343
409
  return __builtin_ia32_rdgsbase32();
344
410
  }
345
411
 
412
+ /// Reads the GS base register.
413
+ ///
414
+ /// \headerfile <immintrin.h>
415
+ ///
416
+ /// This intrinsic corresponds to the <c> RDGSBASE </c> instruction.
417
+ ///
418
+ /// \returns The contents of the GS base register.
346
419
  static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
347
420
  _readgsbase_u64(void)
348
421
  {
349
422
  return __builtin_ia32_rdgsbase64();
350
423
  }
351
424
 
425
+ /// Modifies the FS base register.
426
+ ///
427
+ /// \headerfile <immintrin.h>
428
+ ///
429
+ /// This intrinsic corresponds to the <c> WRFSBASE </c> instruction.
430
+ ///
431
+ /// \param __V
432
+ /// Value to use for the lower 32 bits of the FS base register.
352
433
  static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
353
434
  _writefsbase_u32(unsigned int __V)
354
435
  {
355
436
  __builtin_ia32_wrfsbase32(__V);
356
437
  }
357
438
 
439
+ /// Modifies the FS base register.
440
+ ///
441
+ /// \headerfile <immintrin.h>
442
+ ///
443
+ /// This intrinsic corresponds to the <c> WRFSBASE </c> instruction.
444
+ ///
445
+ /// \param __V
446
+ /// Value to use for the FS base register.
358
447
  static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
359
448
  _writefsbase_u64(unsigned long long __V)
360
449
  {
361
450
  __builtin_ia32_wrfsbase64(__V);
362
451
  }
363
452
 
453
+ /// Modifies the GS base register.
454
+ ///
455
+ /// \headerfile <immintrin.h>
456
+ ///
457
+ /// This intrinsic corresponds to the <c> WRGSBASE </c> instruction.
458
+ ///
459
+ /// \param __V
460
+ /// Value to use for the lower 32 bits of the GS base register.
364
461
  static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
365
462
  _writegsbase_u32(unsigned int __V)
366
463
  {
367
464
  __builtin_ia32_wrgsbase32(__V);
368
465
  }
369
466
 
467
+ /// Modifies the GS base register.
468
+ ///
469
+ /// \headerfile <immintrin.h>
470
+ ///
471
+ /// This intrinsic corresponds to the <c> WRFSBASE </c> instruction.
472
+ ///
473
+ /// \param __V
474
+ /// Value to use for GS base register.
370
475
  static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
371
476
  _writegsbase_u64(unsigned long long __V)
372
477
  {
@@ -385,6 +490,15 @@ _writegsbase_u64(unsigned long long __V)
385
490
  * field inside of it.
386
491
  */
387
492
 
493
+ /// Load a 16-bit value from memory and swap its bytes.
494
+ ///
495
+ /// \headerfile <x86intrin.h>
496
+ ///
497
+ /// This intrinsic corresponds to the MOVBE instruction.
498
+ ///
499
+ /// \param __P
500
+ /// A pointer to the 16-bit value to load.
501
+ /// \returns The byte-swapped value.
388
502
  static __inline__ short __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
389
503
  _loadbe_i16(void const * __P) {
390
504
  struct __loadu_i16 {
@@ -393,6 +507,16 @@ _loadbe_i16(void const * __P) {
393
507
  return (short)__builtin_bswap16(((const struct __loadu_i16*)__P)->__v);
394
508
  }
395
509
 
510
+ /// Swap the bytes of a 16-bit value and store it to memory.
511
+ ///
512
+ /// \headerfile <x86intrin.h>
513
+ ///
514
+ /// This intrinsic corresponds to the MOVBE instruction.
515
+ ///
516
+ /// \param __P
517
+ /// A pointer to the memory for storing the swapped value.
518
+ /// \param __D
519
+ /// The 16-bit value to be byte-swapped.
396
520
  static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
397
521
  _storebe_i16(void * __P, short __D) {
398
522
  struct __storeu_i16 {
@@ -401,6 +525,15 @@ _storebe_i16(void * __P, short __D) {
401
525
  ((struct __storeu_i16*)__P)->__v = __builtin_bswap16((unsigned short)__D);
402
526
  }
403
527
 
528
+ /// Load a 32-bit value from memory and swap its bytes.
529
+ ///
530
+ /// \headerfile <x86intrin.h>
531
+ ///
532
+ /// This intrinsic corresponds to the MOVBE instruction.
533
+ ///
534
+ /// \param __P
535
+ /// A pointer to the 32-bit value to load.
536
+ /// \returns The byte-swapped value.
404
537
  static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
405
538
  _loadbe_i32(void const * __P) {
406
539
  struct __loadu_i32 {
@@ -409,6 +542,16 @@ _loadbe_i32(void const * __P) {
409
542
  return (int)__builtin_bswap32(((const struct __loadu_i32*)__P)->__v);
410
543
  }
411
544
 
545
+ /// Swap the bytes of a 32-bit value and store it to memory.
546
+ ///
547
+ /// \headerfile <x86intrin.h>
548
+ ///
549
+ /// This intrinsic corresponds to the MOVBE instruction.
550
+ ///
551
+ /// \param __P
552
+ /// A pointer to the memory for storing the swapped value.
553
+ /// \param __D
554
+ /// The 32-bit value to be byte-swapped.
412
555
  static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
413
556
  _storebe_i32(void * __P, int __D) {
414
557
  struct __storeu_i32 {
@@ -418,6 +561,15 @@ _storebe_i32(void * __P, int __D) {
418
561
  }
419
562
 
420
563
  #ifdef __x86_64__
564
+ /// Load a 64-bit value from memory and swap its bytes.
565
+ ///
566
+ /// \headerfile <x86intrin.h>
567
+ ///
568
+ /// This intrinsic corresponds to the MOVBE instruction.
569
+ ///
570
+ /// \param __P
571
+ /// A pointer to the 64-bit value to load.
572
+ /// \returns The byte-swapped value.
421
573
  static __inline__ long long __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
422
574
  _loadbe_i64(void const * __P) {
423
575
  struct __loadu_i64 {
@@ -426,6 +578,16 @@ _loadbe_i64(void const * __P) {
426
578
  return (long long)__builtin_bswap64(((const struct __loadu_i64*)__P)->__v);
427
579
  }
428
580
 
581
+ /// Swap the bytes of a 64-bit value and store it to memory.
582
+ ///
583
+ /// \headerfile <x86intrin.h>
584
+ ///
585
+ /// This intrinsic corresponds to the MOVBE instruction.
586
+ ///
587
+ /// \param __P
588
+ /// A pointer to the memory for storing the swapped value.
589
+ /// \param __D
590
+ /// The 64-bit value to be byte-swapped.
429
591
  static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
430
592
  _storebe_i64(void * __P, long long __D) {
431
593
  struct __storeu_i64 {
@@ -475,9 +637,13 @@ _storebe_i64(void * __P, long long __D) {
475
637
  #include <cetintrin.h>
476
638
  #endif
477
639
 
478
- /* Some intrinsics inside adxintrin.h are available only on processors with ADX,
479
- * whereas others are also available at all times. */
640
+ /* Intrinsics inside adcintrin.h are available at all times. */
641
+ #include <adcintrin.h>
642
+
643
+ #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
644
+ defined(__ADX__)
480
645
  #include <adxintrin.h>
646
+ #endif
481
647
 
482
648
  #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
483
649
  defined(__RDSEED__)
@@ -538,6 +704,11 @@ _storebe_i64(void * __P, long long __D) {
538
704
  #include <amxintrin.h>
539
705
  #endif
540
706
 
707
+ #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
708
+ defined(__AMX_COMPLEX__)
709
+ #include <amxcomplexintrin.h>
710
+ #endif
711
+
541
712
  #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
542
713
  defined(__AVX512VP2INTERSECT__)
543
714
  #include <avx512vp2intersectintrin.h>
@@ -572,6 +572,22 @@ unsigned char __readx18byte(unsigned long offset);
572
572
  unsigned short __readx18word(unsigned long offset);
573
573
  unsigned long __readx18dword(unsigned long offset);
574
574
  unsigned __int64 __readx18qword(unsigned long offset);
575
+
576
+ double _CopyDoubleFromInt64(__int64);
577
+ float _CopyFloatFromInt32(__int32);
578
+ __int32 _CopyInt32FromFloat(float);
579
+ __int64 _CopyInt64FromDouble(double);
580
+
581
+ unsigned int _CountLeadingOnes(unsigned long);
582
+ unsigned int _CountLeadingOnes64(unsigned __int64);
583
+ unsigned int _CountLeadingSigns(long);
584
+ unsigned int _CountLeadingSigns64(__int64);
585
+ unsigned int _CountLeadingZeros(unsigned long);
586
+ unsigned int _CountLeadingZeros64(unsigned _int64);
587
+ unsigned int _CountOneBits(unsigned long);
588
+ unsigned int _CountOneBits64(unsigned __int64);
589
+
590
+ void __cdecl __prefetch(void *);
575
591
  #endif
576
592
 
577
593
  /*----------------------------------------------------------------------------*\
@@ -156,7 +156,7 @@ extern __inline unsigned char
156
156
  return (unsigned char)__builtin_loongarch_iocsrrd_b((unsigned int)_1);
157
157
  }
158
158
 
159
- extern __inline unsigned char
159
+ extern __inline unsigned short
160
160
  __attribute__((__gnu_inline__, __always_inline__, __artificial__))
161
161
  __iocsrrd_h(unsigned int _1) {
162
162
  return (unsigned short)__builtin_loongarch_iocsrrd_h((unsigned int)_1);
@@ -228,6 +228,18 @@ extern __inline void
228
228
  ((void)__builtin_loongarch_ldpte_d((long int)(_1), (_2)))
229
229
  #endif
230
230
 
231
+ #define __frecipe_s(/*float*/ _1) \
232
+ (float)__builtin_loongarch_frecipe_s((float)_1)
233
+
234
+ #define __frecipe_d(/*double*/ _1) \
235
+ (double)__builtin_loongarch_frecipe_d((double)_1)
236
+
237
+ #define __frsqrte_s(/*float*/ _1) \
238
+ (float)__builtin_loongarch_frsqrte_s((float)_1)
239
+
240
+ #define __frsqrte_d(/*double*/ _1) \
241
+ (double)__builtin_loongarch_frsqrte_d((double)_1)
242
+
231
243
  #ifdef __cplusplus
232
244
  }
233
245
  #endif