This commit implements `riscv_hwprobe`-based feature detection as available on newer versions of the Linux kernel. It also queries whether the vector extensions are enabled using `prctl` but this is not supported on QEMU's userland emulator (as of version 9.2.3) and use the auxiliary vector as a fallback. Currently, all extensions discoverable from the Linux kernel version 6.14 and related extension groups (except "Supm", which reports the existence of `prctl`-based pointer masking control and too OS-dependent) are implemented. Co-Authored-By: Taiki Endo <te316e89@gmail.com> |
||
|---|---|---|
| .. | ||
| .github/workflows | ||
| ci | ||
| crates | ||
| examples | ||
| intrinsics_data | ||
| .cirrus.yml | ||
| .git-blame-ignore-revs | ||
| .gitignore | ||
| .gitmodules | ||
| Cargo.toml | ||
| CONTRIBUTING.md | ||
| LICENSE-APACHE | ||
| LICENSE-MIT | ||
| README.md | ||
| rustfmt.toml | ||
| triagebot.toml | ||
| vendor.yml | ||
stdarch - Rust's standard library SIMD components
Crates
This repository contains two main crates:
-
core_archimplementscore::arch- Rust's core library architecture-specific intrinsics, and -
std_detectimplementsstd::detect- Rust's standard library run-time CPU feature detection.
The std::simd component now lives in the
packed_simd_2 crate.