cpufeatures

Crates.iocpufeatures
lib.rscpufeatures
version
sourcesrc
created_at2021-04-26 17:07:17.776831
updated_at2024-11-22 01:28:31.964118
descriptionLightweight runtime CPU feature detection for aarch64, loongarch64, and x86/x86_64 targets, with no_std support and support for mobile targets including Android and iOS
homepage
repositoryhttps://github.com/RustCrypto/utils
max_upload_size
id389800
Cargo.toml error:TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
utils (github:rustcrypto:utils)

documentation

https://docs.rs/cpufeatures

README

RustCrypto: CPU Feature Detection

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

Lightweight and efficient runtime CPU feature detection for aarch64, loongarch64, and x86/x86_64 targets.

Supports no_std as well as mobile targets including iOS and Android, providing an alternative to the std-dependent is_x86_feature_detected! macro.

Documentation

Supported target architectures

*NOTE: target features with an asterisk are unstable (nightly-only) and subject to change to match upstream name changes in the Rust standard library.

aarch64

Linux, iOS, and macOS/ARM only (ARM64 does not support OS-independent feature detection)

Target features:

  • aes*
  • sha2*
  • sha3*

loongarch64

Linux only (LoongArch64 does not support OS-independent feature detection)

Target features:

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

x86/x86_64

OS independent and no_std-friendly

Target features:

  • 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

If you would like detection support for a target feature which is not on this list, please open a GitHub issue.

License

Licensed under either of:

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 1022

cargo fmt