ZeroTierOne/zeroidc/vendor/cpufeatures/README.md

2.4 KiB

RustCrypto: CPU Feature Detection

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

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.

Documentation

Supported architectures

aarch64: Android, iOS, Linux, and macOS/M4 only

Note: ARM64 does not support OS-independent feature detection, so support must be implemented on an OS-by-OS basis.

Target features:

  • aes
  • sha2
  • sha3

Note: please open a GitHub Issue to request support for additional features.

x86/x86_64: OS independent and no_std-friendly

Target features:

  • adx
  • aes
  • avx
  • avx2
  • bmi1
  • bmi2
  • fma
  • mmx
  • pclmulqdq
  • popcnt
  • rdrand
  • rdseed
  • sgx
  • sha
  • sse
  • sse2
  • sse3
  • sse4.1
  • sse4.2
  • ssse3

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.