diff options
| author | Adam Gemmell <adam.gemmell@arm.com> | 2024-01-25 13:29:14 +0000 |
|---|---|---|
| committer | Amanieu d'Antras <amanieu@gmail.com> | 2024-02-16 18:21:34 +0000 |
| commit | e54a6d71bffe2c10f01d76cea593f788f052d0fd (patch) | |
| tree | 01a3203adb1788647159e7f78dd46c333241e795 /library/stdarch/crates/std_detect/tests | |
| parent | f866a61df6ca90a05b95db6667c979df33cde149 (diff) | |
| download | rust-e54a6d71bffe2c10f01d76cea593f788f052d0fd.tar.gz rust-e54a6d71bffe2c10f01d76cea593f788f052d0fd.zip | |
Improve feature detect for combined aarch64 features
LLVM's `ssbs` and `mte` target_features represent two Arm features. Linux's HWCAP also represents the same two features, so this is just a documentation update. LLVM's `ras` target_feature represents two Arm features - FEAT_RAS and FEAT_RASv1p1. There is no runtime detection for this, so this is a no-op in stdarch. LLVM's `aes` feature covers both `FEAT_AES` and `FEAT_PMULL`, but Linux exposes seperate feature bits. This patch makes the `aes` target_feature correctly shortcut runtime `pmull` detection and also makes the `aes` feature check for `pmull` at runtime to bring it in line with the target_feature behaviour. In practice I think this makes the two runtime features identical since the ID_AA64ISAR0_EL1 register does not allow for PMULL without AES.
Diffstat (limited to 'library/stdarch/crates/std_detect/tests')
0 files changed, 0 insertions, 0 deletions
