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:
adxaesavxavx2avx512bw*avx512cd*avx512dq*avx512er*avx512f*avx512ifma*avx512pf*avx512vl*bmi1bmi2fma,mmxpclmulqdqpopcntrdrandrdseedsgxshassesse2sse3sse4.1sse4.2ssse3
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.