#cpu #detection #aarch64 #x86-64 #run-time #ios #mobile

no-std cpufeatures

为 aarch64、loongarch64 和 x86/x86_64 目标提供轻量级运行时 CPU 特性检测,支持 no_std 和包括 Android 和 iOS 在内的移动目标。

15 个版本

0.2.13 2024 年 8 月 12 日
0.2.12 2024 年 1 月 4 日
0.2.11 2023 年 10 月 26 日
0.2.9 2023 年 7 月 5 日
0.1.5 2021 年 6 月 22 日

#11硬件支持 中排名

Download history 1675739/week @ 2024-05-04 1758083/week @ 2024-05-11 1724561/week @ 2024-05-18 1655757/week @ 2024-05-25 1858769/week @ 2024-06-01 1795378/week @ 2024-06-08 1779592/week @ 2024-06-15 1786355/week @ 2024-06-22 1663254/week @ 2024-06-29 1828830/week @ 2024-07-06 1798667/week @ 2024-07-13 1872693/week @ 2024-07-20 1893690/week @ 2024-07-27 1895725/week @ 2024-08-03 2078292/week @ 2024-08-10 2108118/week @ 2024-08-17

8,309,666 每月下载量
用于 21,764 个Crates(直接使用26个)

MIT/Apache

26KB
395

RustCrypto: CPU 特性检测

crate Docs Apache2/MIT licensed Rust Version Project Chat Build Status

aarch64loongarch64x86/x86_64 目标提供轻量级和高效的运行时 CPU 特性检测。

支持 no_std 以及包括 iOS 和 Android 在内的移动目标,提供对依赖于 stdis_x86_feature_detected! 宏的替代方案。

文档

支持的目标架构

*注意:带星号的目标特性是不稳定的(仅限夜间构建),可能根据 Rust 标准库的上游名称更改而更改。

aarch64

仅限 Linux、iOS 和 macOS/ARM(ARM64 不支持独立的 OS 特性检测)

目标特性

  • aes*
  • sha2*
  • sha3*

loongarch64

仅限 Linux(LoongArch64 不支持独立的 OS 特性检测)

目标特性

  • lam*
  • ual*
  • fpu*
  • lsx*
  • lasx*
  • crc32*
  • complex*
  • crypto*
  • lvz*
  • lbt.x86*
  • lbt.arm*
  • lbt.mips*
  • ptw*

x86/x86_64

独立于操作系统且与 no_std 兼容

目标特性

  • adx
  • aes
  • avx
  • avx2
  • avx512bw*
  • avx512cd*
  • avx512dq*
  • avx512er*
  • avx512f*
  • avx512ifma*
  • avx512pf*
  • avx512vl*
  • avx512vbmi*
  • avx512vbmi2*
  • bmi1
  • bmi2
  • fma,
  • mmx
  • pclmulqdq
  • popcnt
  • rdrand
  • rdseed
  • sgx
  • sha
  • sse
  • sse2
  • sse3
  • sse4.1
  • sse4.2
  • ssse3

如果您希望检测不支持的目标特性,请 在 GitHub 上创建一个 issue

许可证

许可协议为以下之一

任选其一。

贡献

除非您明确声明,否则根据 Apache-2.0 协议定义的,您有意提交并包含在作品中的任何贡献,都将如上所述双许可,不附加任何额外条款或条件。

依赖项