| … | ||
|---|---|---|
| .. | ||
| src | ||
| tests | ||
| .cargo-checksum.json | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| LICENSE-APACHE | ||
| LICENSE-MIT | ||
| README.md | ||
RustCrypto: CPU Feature Detection
Lightweight and efficient runtime CPU feature detection for aarch64 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.
Supported architectures
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*
x86/x86_64
OS independent and no_std-friendly
Target features:
- adx
- aes
- avx
- avx2
- avx512bw*
- avx512cd*
- avx512dq*
- avx512er*
- avx512f*
- avx512ifma*
- avx512pf*
- avx512vl*
- 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.