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.
*NOTE: target features with an asterisk are unstable (nightly-only) and subject to change to match upstream name changes in the Rust standard library.
Linux, iOS, and macOS/ARM only (ARM64 does not support OS-independent feature detection)
Target features:
aes
*sha2
*sha3
*
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.
Licensed under either of:
at your option.
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.