@cpp-linter/clang-tidy-linux-arm64 17.0.6 → 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 (242) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy +2 -2
  3. package/lib/clang/{17 → 18}/include/__clang_cuda_device_functions.h +2 -2
  4. package/lib/clang/{17 → 18}/include/__clang_cuda_libdevice_declares.h +2 -2
  5. package/lib/clang/{17 → 18}/include/__clang_cuda_math.h +2 -2
  6. package/lib/clang/{17 → 18}/include/__clang_cuda_runtime_wrapper.h +2 -2
  7. package/lib/clang/{17 → 18}/include/__clang_hip_math.h +192 -171
  8. package/lib/clang/{17 → 18}/include/__clang_hip_runtime_wrapper.h +34 -26
  9. package/lib/clang/18/include/__stdarg___gnuc_va_list.h +13 -0
  10. package/lib/clang/18/include/__stdarg___va_copy.h +12 -0
  11. package/lib/clang/18/include/__stdarg_va_arg.h +22 -0
  12. package/lib/clang/18/include/__stdarg_va_copy.h +12 -0
  13. package/lib/clang/18/include/__stdarg_va_list.h +13 -0
  14. package/lib/clang/{17 → 18}/include/__stddef_max_align_t.h +1 -1
  15. package/lib/clang/18/include/__stddef_null.h +29 -0
  16. package/lib/clang/18/include/__stddef_nullptr_t.h +29 -0
  17. package/lib/clang/18/include/__stddef_offsetof.h +17 -0
  18. package/lib/clang/18/include/__stddef_ptrdiff_t.h +20 -0
  19. package/lib/clang/18/include/__stddef_rsize_t.h +20 -0
  20. package/lib/clang/18/include/__stddef_size_t.h +20 -0
  21. package/lib/clang/18/include/__stddef_unreachable.h +21 -0
  22. package/lib/clang/18/include/__stddef_wchar_t.h +28 -0
  23. package/lib/clang/18/include/__stddef_wint_t.h +15 -0
  24. package/lib/clang/{17/include/adxintrin.h → 18/include/adcintrin.h} +27 -94
  25. package/lib/clang/18/include/adxintrin.h +102 -0
  26. package/lib/clang/{17 → 18}/include/altivec.h +31 -12
  27. package/lib/clang/{17 → 18}/include/ammintrin.h +4 -4
  28. package/lib/clang/{17 → 18}/include/arm_acle.h +111 -31
  29. package/lib/clang/{17 → 18}/include/arm_neon.h +85 -327
  30. package/lib/clang/18/include/arm_sme.h +2412 -0
  31. package/lib/clang/{17 → 18}/include/arm_sve.h +7386 -351
  32. package/lib/clang/18/include/arm_vector_types.h +345 -0
  33. package/lib/clang/{17 → 18}/include/avx2intrin.h +24 -3
  34. package/lib/clang/{17 → 18}/include/avx512bf16intrin.h +3 -2
  35. package/lib/clang/{17 → 18}/include/avx512bitalgintrin.h +4 -1
  36. package/lib/clang/{17 → 18}/include/avx512bwintrin.h +28 -38
  37. package/lib/clang/{17 → 18}/include/avx512cdintrin.h +3 -1
  38. package/lib/clang/{17 → 18}/include/avx512dqintrin.h +4 -2
  39. package/lib/clang/{17 → 18}/include/avx512fintrin.h +7 -3
  40. package/lib/clang/{17 → 18}/include/avx512fp16intrin.h +6 -4
  41. package/lib/clang/{17 → 18}/include/avx512ifmaintrin.h +3 -1
  42. package/lib/clang/{17 → 18}/include/avx512ifmavlintrin.h +8 -2
  43. package/lib/clang/{17 → 18}/include/avx512pfintrin.h +0 -5
  44. package/lib/clang/{17 → 18}/include/avx512vbmi2intrin.h +1 -1
  45. package/lib/clang/{17 → 18}/include/avx512vbmiintrin.h +3 -2
  46. package/lib/clang/{17 → 18}/include/avx512vbmivlintrin.h +8 -3
  47. package/lib/clang/{17 → 18}/include/avx512vlbf16intrin.h +8 -6
  48. package/lib/clang/{17 → 18}/include/avx512vlbitalgintrin.h +8 -2
  49. package/lib/clang/{17 → 18}/include/avx512vlbwintrin.h +8 -2
  50. package/lib/clang/{17 → 18}/include/avx512vlcdintrin.h +8 -3
  51. package/lib/clang/{17 → 18}/include/avx512vldqintrin.h +8 -2
  52. package/lib/clang/{17 → 18}/include/avx512vlfp16intrin.h +2 -2
  53. package/lib/clang/{17 → 18}/include/avx512vlintrin.h +8 -2
  54. package/lib/clang/{17 → 18}/include/avx512vlvbmi2intrin.h +8 -2
  55. package/lib/clang/{17 → 18}/include/avx512vlvnniintrin.h +8 -2
  56. package/lib/clang/{17 → 18}/include/avx512vlvp2intersectintrin.h +6 -4
  57. package/lib/clang/{17 → 18}/include/avx512vnniintrin.h +3 -2
  58. package/lib/clang/{17 → 18}/include/avx512vp2intersectintrin.h +3 -2
  59. package/lib/clang/{17 → 18}/include/avx512vpopcntdqintrin.h +3 -1
  60. package/lib/clang/{17 → 18}/include/avx512vpopcntdqvlintrin.h +6 -2
  61. package/lib/clang/{17 → 18}/include/avxintrin.h +9 -5
  62. package/lib/clang/{17 → 18}/include/bmiintrin.h +231 -46
  63. package/lib/clang/{17 → 18}/include/emmintrin.h +10 -10
  64. package/lib/clang/{17 → 18}/include/gfniintrin.h +23 -6
  65. package/lib/clang/18/include/hlsl/hlsl_intrinsics.h +624 -0
  66. package/lib/clang/18/include/ia32intrin.h +863 -0
  67. package/lib/clang/{17 → 18}/include/immintrin.h +66 -3
  68. package/lib/clang/{17 → 18}/include/intrin.h +16 -0
  69. package/lib/clang/{17 → 18}/include/larchintrin.h +13 -1
  70. package/lib/clang/18/include/lasxintrin.h +3884 -0
  71. package/lib/clang/{17 → 18}/include/limits.h +2 -4
  72. package/lib/clang/{17/include/llvm_libc_wrappers/stdio.h → 18/include/llvm_libc_wrappers/assert.h} +7 -7
  73. package/lib/clang/{17 → 18}/include/llvm_libc_wrappers/ctype.h +17 -0
  74. package/lib/clang/18/include/llvm_libc_wrappers/stdio.h +80 -0
  75. package/lib/clang/{17 → 18}/include/llvm_libc_wrappers/stdlib.h +4 -1
  76. package/lib/clang/18/include/llvm_libc_wrappers/string.h +96 -0
  77. package/lib/clang/{17/include/llvm_libc_wrappers/string.h → 18/include/llvm_libc_wrappers/time.h} +9 -12
  78. package/lib/clang/18/include/lsxintrin.h +3750 -0
  79. package/lib/clang/{17 → 18}/include/mmintrin.h +7 -5
  80. package/lib/clang/{17 → 18}/include/module.modulemap +155 -2
  81. package/lib/clang/{17 → 18}/include/opencl-c-base.h +5 -0
  82. package/lib/clang/{17 → 18}/include/openmp_wrappers/cmath +1 -1
  83. package/lib/clang/{17 → 18}/include/pmmintrin.h +3 -2
  84. package/lib/clang/18/include/ppc_wrappers/nmmintrin.h +26 -0
  85. package/lib/clang/{17 → 18}/include/ppc_wrappers/smmintrin.h +35 -15
  86. package/lib/clang/18/include/riscv_bitmanip.h +195 -0
  87. package/lib/clang/18/include/riscv_crypto.h +170 -0
  88. package/lib/clang/{17 → 18}/include/riscv_ntlh.h +3 -5
  89. package/lib/clang/{17 → 18}/include/riscv_vector.h +31 -0
  90. package/lib/clang/{17 → 18}/include/smmintrin.h +3 -3
  91. package/lib/clang/{17 → 18}/include/stdalign.h +1 -3
  92. package/lib/clang/18/include/stdarg.h +79 -0
  93. package/lib/clang/{17 → 18}/include/stdatomic.h +3 -5
  94. package/lib/clang/18/include/stdckdint.h +42 -0
  95. package/lib/clang/18/include/stddef.h +123 -0
  96. package/lib/clang/{17 → 18}/include/stdint.h +19 -48
  97. package/lib/clang/{17 → 18}/include/stdnoreturn.h +2 -2
  98. package/lib/clang/{17 → 18}/include/tmmintrin.h +7 -2
  99. package/lib/clang/18/include/usermsrintrin.h +51 -0
  100. package/lib/clang/{17 → 18}/include/vaesintrin.h +4 -2
  101. package/lib/clang/{17 → 18}/include/vecintrin.h +217 -199
  102. package/lib/clang/{17 → 18}/include/x86gprintrin.h +5 -0
  103. package/lib/clang/{17 → 18}/include/xmmintrin.h +9 -5
  104. package/package.json +6 -6
  105. package/lib/clang/17/include/arm_sme_draft_spec_subject_to_change.h +0 -642
  106. package/lib/clang/17/include/hlsl/hlsl_intrinsics.h +0 -480
  107. package/lib/clang/17/include/ia32intrin.h +0 -441
  108. package/lib/clang/17/include/stdarg.h +0 -51
  109. package/lib/clang/17/include/stddef.h +0 -133
  110. /package/lib/clang/{17 → 18}/include/__clang_cuda_builtin_vars.h +0 -0
  111. /package/lib/clang/{17 → 18}/include/__clang_cuda_cmath.h +0 -0
  112. /package/lib/clang/{17 → 18}/include/__clang_cuda_complex_builtins.h +0 -0
  113. /package/lib/clang/{17 → 18}/include/__clang_cuda_intrinsics.h +0 -0
  114. /package/lib/clang/{17 → 18}/include/__clang_cuda_math_forward_declares.h +0 -0
  115. /package/lib/clang/{17 → 18}/include/__clang_cuda_texture_intrinsics.h +0 -0
  116. /package/lib/clang/{17 → 18}/include/__clang_hip_cmath.h +0 -0
  117. /package/lib/clang/{17 → 18}/include/__clang_hip_libdevice_declares.h +0 -0
  118. /package/lib/clang/{17 → 18}/include/__clang_hip_stdlib.h +0 -0
  119. /package/lib/clang/{17 → 18}/include/__wmmintrin_aes.h +0 -0
  120. /package/lib/clang/{17 → 18}/include/__wmmintrin_pclmul.h +0 -0
  121. /package/lib/clang/{17 → 18}/include/amxcomplexintrin.h +0 -0
  122. /package/lib/clang/{17 → 18}/include/amxfp16intrin.h +0 -0
  123. /package/lib/clang/{17 → 18}/include/amxintrin.h +0 -0
  124. /package/lib/clang/{17 → 18}/include/arm64intr.h +0 -0
  125. /package/lib/clang/{17 → 18}/include/arm_bf16.h +0 -0
  126. /package/lib/clang/{17 → 18}/include/arm_cde.h +0 -0
  127. /package/lib/clang/{17 → 18}/include/arm_cmse.h +0 -0
  128. /package/lib/clang/{17 → 18}/include/arm_fp16.h +0 -0
  129. /package/lib/clang/{17 → 18}/include/arm_mve.h +0 -0
  130. /package/lib/clang/{17 → 18}/include/arm_neon_sve_bridge.h +0 -0
  131. /package/lib/clang/{17 → 18}/include/armintr.h +0 -0
  132. /package/lib/clang/{17 → 18}/include/avx512erintrin.h +0 -0
  133. /package/lib/clang/{17 → 18}/include/avxifmaintrin.h +0 -0
  134. /package/lib/clang/{17 → 18}/include/avxneconvertintrin.h +0 -0
  135. /package/lib/clang/{17 → 18}/include/avxvnniint16intrin.h +0 -0
  136. /package/lib/clang/{17 → 18}/include/avxvnniint8intrin.h +0 -0
  137. /package/lib/clang/{17 → 18}/include/avxvnniintrin.h +0 -0
  138. /package/lib/clang/{17 → 18}/include/bmi2intrin.h +0 -0
  139. /package/lib/clang/{17 → 18}/include/builtins.h +0 -0
  140. /package/lib/clang/{17 → 18}/include/cet.h +0 -0
  141. /package/lib/clang/{17 → 18}/include/cetintrin.h +0 -0
  142. /package/lib/clang/{17 → 18}/include/cldemoteintrin.h +0 -0
  143. /package/lib/clang/{17 → 18}/include/clflushoptintrin.h +0 -0
  144. /package/lib/clang/{17 → 18}/include/clwbintrin.h +0 -0
  145. /package/lib/clang/{17 → 18}/include/clzerointrin.h +0 -0
  146. /package/lib/clang/{17 → 18}/include/cmpccxaddintrin.h +0 -0
  147. /package/lib/clang/{17 → 18}/include/cpuid.h +0 -0
  148. /package/lib/clang/{17 → 18}/include/crc32intrin.h +0 -0
  149. /package/lib/clang/{17 → 18}/include/cuda_wrappers/algorithm +0 -0
  150. /package/lib/clang/{17 → 18}/include/cuda_wrappers/bits/basic_string.h +0 -0
  151. /package/lib/clang/{17 → 18}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
  152. /package/lib/clang/{17 → 18}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
  153. /package/lib/clang/{17 → 18}/include/cuda_wrappers/cmath +0 -0
  154. /package/lib/clang/{17 → 18}/include/cuda_wrappers/complex +0 -0
  155. /package/lib/clang/{17 → 18}/include/cuda_wrappers/new +0 -0
  156. /package/lib/clang/{17 → 18}/include/enqcmdintrin.h +0 -0
  157. /package/lib/clang/{17 → 18}/include/f16cintrin.h +0 -0
  158. /package/lib/clang/{17 → 18}/include/float.h +0 -0
  159. /package/lib/clang/{17 → 18}/include/fma4intrin.h +0 -0
  160. /package/lib/clang/{17 → 18}/include/fmaintrin.h +0 -0
  161. /package/lib/clang/{17 → 18}/include/fxsrintrin.h +0 -0
  162. /package/lib/clang/{17 → 18}/include/hexagon_circ_brev_intrinsics.h +0 -0
  163. /package/lib/clang/{17 → 18}/include/hexagon_protos.h +0 -0
  164. /package/lib/clang/{17 → 18}/include/hexagon_types.h +0 -0
  165. /package/lib/clang/{17 → 18}/include/hlsl/hlsl_basic_types.h +0 -0
  166. /package/lib/clang/{17 → 18}/include/hlsl.h +0 -0
  167. /package/lib/clang/{17 → 18}/include/hresetintrin.h +0 -0
  168. /package/lib/clang/{17 → 18}/include/htmintrin.h +0 -0
  169. /package/lib/clang/{17 → 18}/include/htmxlintrin.h +0 -0
  170. /package/lib/clang/{17 → 18}/include/hvx_hexagon_protos.h +0 -0
  171. /package/lib/clang/{17 → 18}/include/inttypes.h +0 -0
  172. /package/lib/clang/{17 → 18}/include/invpcidintrin.h +0 -0
  173. /package/lib/clang/{17 → 18}/include/iso646.h +0 -0
  174. /package/lib/clang/{17 → 18}/include/keylockerintrin.h +0 -0
  175. /package/lib/clang/{17 → 18}/include/llvm_libc_wrappers/inttypes.h +0 -0
  176. /package/lib/clang/{17 → 18}/include/lwpintrin.h +0 -0
  177. /package/lib/clang/{17 → 18}/include/lzcntintrin.h +0 -0
  178. /package/lib/clang/{17 → 18}/include/mm3dnow.h +0 -0
  179. /package/lib/clang/{17 → 18}/include/mm_malloc.h +0 -0
  180. /package/lib/clang/{17 → 18}/include/movdirintrin.h +0 -0
  181. /package/lib/clang/{17 → 18}/include/msa.h +0 -0
  182. /package/lib/clang/{17 → 18}/include/mwaitxintrin.h +0 -0
  183. /package/lib/clang/{17 → 18}/include/nmmintrin.h +0 -0
  184. /package/lib/clang/{17 → 18}/include/opencl-c.h +0 -0
  185. /package/lib/clang/{17 → 18}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
  186. /package/lib/clang/{17 → 18}/include/openmp_wrappers/complex +0 -0
  187. /package/lib/clang/{17 → 18}/include/openmp_wrappers/complex.h +0 -0
  188. /package/lib/clang/{17 → 18}/include/openmp_wrappers/complex_cmath.h +0 -0
  189. /package/lib/clang/{17 → 18}/include/openmp_wrappers/math.h +0 -0
  190. /package/lib/clang/{17 → 18}/include/openmp_wrappers/new +0 -0
  191. /package/lib/clang/{17 → 18}/include/pconfigintrin.h +0 -0
  192. /package/lib/clang/{17 → 18}/include/pkuintrin.h +0 -0
  193. /package/lib/clang/{17 → 18}/include/popcntintrin.h +0 -0
  194. /package/lib/clang/{17 → 18}/include/ppc_wrappers/bmi2intrin.h +0 -0
  195. /package/lib/clang/{17 → 18}/include/ppc_wrappers/bmiintrin.h +0 -0
  196. /package/lib/clang/{17 → 18}/include/ppc_wrappers/emmintrin.h +0 -0
  197. /package/lib/clang/{17 → 18}/include/ppc_wrappers/immintrin.h +0 -0
  198. /package/lib/clang/{17 → 18}/include/ppc_wrappers/mm_malloc.h +0 -0
  199. /package/lib/clang/{17 → 18}/include/ppc_wrappers/mmintrin.h +0 -0
  200. /package/lib/clang/{17 → 18}/include/ppc_wrappers/pmmintrin.h +0 -0
  201. /package/lib/clang/{17 → 18}/include/ppc_wrappers/tmmintrin.h +0 -0
  202. /package/lib/clang/{17 → 18}/include/ppc_wrappers/x86gprintrin.h +0 -0
  203. /package/lib/clang/{17 → 18}/include/ppc_wrappers/x86intrin.h +0 -0
  204. /package/lib/clang/{17 → 18}/include/ppc_wrappers/xmmintrin.h +0 -0
  205. /package/lib/clang/{17 → 18}/include/prfchiintrin.h +0 -0
  206. /package/lib/clang/{17 → 18}/include/prfchwintrin.h +0 -0
  207. /package/lib/clang/{17 → 18}/include/ptwriteintrin.h +0 -0
  208. /package/lib/clang/{17 → 18}/include/raointintrin.h +0 -0
  209. /package/lib/clang/{17 → 18}/include/rdpruintrin.h +0 -0
  210. /package/lib/clang/{17 → 18}/include/rdseedintrin.h +0 -0
  211. /package/lib/clang/{17 → 18}/include/rtmintrin.h +0 -0
  212. /package/lib/clang/{17 → 18}/include/s390intrin.h +0 -0
  213. /package/lib/clang/{17 → 18}/include/serializeintrin.h +0 -0
  214. /package/lib/clang/{17 → 18}/include/sgxintrin.h +0 -0
  215. /package/lib/clang/{17 → 18}/include/sha512intrin.h +0 -0
  216. /package/lib/clang/{17 → 18}/include/shaintrin.h +0 -0
  217. /package/lib/clang/{17 → 18}/include/sifive_vector.h +0 -0
  218. /package/lib/clang/{17 → 18}/include/sm3intrin.h +0 -0
  219. /package/lib/clang/{17 → 18}/include/sm4intrin.h +0 -0
  220. /package/lib/clang/{17 → 18}/include/stdbool.h +0 -0
  221. /package/lib/clang/{17 → 18}/include/tbmintrin.h +0 -0
  222. /package/lib/clang/{17 → 18}/include/tgmath.h +0 -0
  223. /package/lib/clang/{17 → 18}/include/tsxldtrkintrin.h +0 -0
  224. /package/lib/clang/{17 → 18}/include/uintrintrin.h +0 -0
  225. /package/lib/clang/{17 → 18}/include/unwind.h +0 -0
  226. /package/lib/clang/{17 → 18}/include/vadefs.h +0 -0
  227. /package/lib/clang/{17 → 18}/include/varargs.h +0 -0
  228. /package/lib/clang/{17 → 18}/include/velintrin.h +0 -0
  229. /package/lib/clang/{17 → 18}/include/velintrin_approx.h +0 -0
  230. /package/lib/clang/{17 → 18}/include/velintrin_gen.h +0 -0
  231. /package/lib/clang/{17 → 18}/include/vpclmulqdqintrin.h +0 -0
  232. /package/lib/clang/{17 → 18}/include/waitpkgintrin.h +0 -0
  233. /package/lib/clang/{17 → 18}/include/wasm_simd128.h +0 -0
  234. /package/lib/clang/{17 → 18}/include/wbnoinvdintrin.h +0 -0
  235. /package/lib/clang/{17 → 18}/include/wmmintrin.h +0 -0
  236. /package/lib/clang/{17 → 18}/include/x86intrin.h +0 -0
  237. /package/lib/clang/{17 → 18}/include/xopintrin.h +0 -0
  238. /package/lib/clang/{17 → 18}/include/xsavecintrin.h +0 -0
  239. /package/lib/clang/{17 → 18}/include/xsaveintrin.h +0 -0
  240. /package/lib/clang/{17 → 18}/include/xsaveoptintrin.h +0 -0
  241. /package/lib/clang/{17 → 18}/include/xsavesintrin.h +0 -0
  242. /package/lib/clang/{17 → 18}/include/xtestintrin.h +0 -0
@@ -291,11 +291,13 @@
291
291
 
292
292
  #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
293
293
  defined(__RDPID__)
294
- /// Returns the value of the IA32_TSC_AUX MSR (0xc0000103).
294
+ /// Reads the value of the IA32_TSC_AUX MSR (0xc0000103).
295
295
  ///
296
296
  /// \headerfile <immintrin.h>
297
297
  ///
298
298
  /// This intrinsic corresponds to the <c> RDPID </c> instruction.
299
+ ///
300
+ /// \returns The 32-bit contents of the MSR.
299
301
  static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__, __target__("rdpid")))
300
302
  _rdpid_u32(void) {
301
303
  return __builtin_ia32_rdpid();
@@ -488,6 +490,15 @@ _writegsbase_u64(unsigned long long __V)
488
490
  * field inside of it.
489
491
  */
490
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.
491
502
  static __inline__ short __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
492
503
  _loadbe_i16(void const * __P) {
493
504
  struct __loadu_i16 {
@@ -496,6 +507,16 @@ _loadbe_i16(void const * __P) {
496
507
  return (short)__builtin_bswap16(((const struct __loadu_i16*)__P)->__v);
497
508
  }
498
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.
499
520
  static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
500
521
  _storebe_i16(void * __P, short __D) {
501
522
  struct __storeu_i16 {
@@ -504,6 +525,15 @@ _storebe_i16(void * __P, short __D) {
504
525
  ((struct __storeu_i16*)__P)->__v = __builtin_bswap16((unsigned short)__D);
505
526
  }
506
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.
507
537
  static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
508
538
  _loadbe_i32(void const * __P) {
509
539
  struct __loadu_i32 {
@@ -512,6 +542,16 @@ _loadbe_i32(void const * __P) {
512
542
  return (int)__builtin_bswap32(((const struct __loadu_i32*)__P)->__v);
513
543
  }
514
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.
515
555
  static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
516
556
  _storebe_i32(void * __P, int __D) {
517
557
  struct __storeu_i32 {
@@ -521,6 +561,15 @@ _storebe_i32(void * __P, int __D) {
521
561
  }
522
562
 
523
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.
524
573
  static __inline__ long long __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
525
574
  _loadbe_i64(void const * __P) {
526
575
  struct __loadu_i64 {
@@ -529,6 +578,16 @@ _loadbe_i64(void const * __P) {
529
578
  return (long long)__builtin_bswap64(((const struct __loadu_i64*)__P)->__v);
530
579
  }
531
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.
532
591
  static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
533
592
  _storebe_i64(void * __P, long long __D) {
534
593
  struct __storeu_i64 {
@@ -578,9 +637,13 @@ _storebe_i64(void * __P, long long __D) {
578
637
  #include <cetintrin.h>
579
638
  #endif
580
639
 
581
- /* Some intrinsics inside adxintrin.h are available only on processors with ADX,
582
- * 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__)
583
645
  #include <adxintrin.h>
646
+ #endif
584
647
 
585
648
  #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
586
649
  defined(__RDSEED__)
@@ -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