summaryrefslogtreecommitdiffstats
path: root/library/stdarch/crates/stdarch-verify/tests/x86-intel.rs
diff options
context:
space:
mode:
Diffstat (limited to 'library/stdarch/crates/stdarch-verify/tests/x86-intel.rs')
-rw-r--r--library/stdarch/crates/stdarch-verify/tests/x86-intel.rs20
1 files changed, 16 insertions, 4 deletions
diff --git a/library/stdarch/crates/stdarch-verify/tests/x86-intel.rs b/library/stdarch/crates/stdarch-verify/tests/x86-intel.rs
index 89494bfd2..cd9bd18ea 100644
--- a/library/stdarch/crates/stdarch-verify/tests/x86-intel.rs
+++ b/library/stdarch/crates/stdarch-verify/tests/x86-intel.rs
@@ -367,7 +367,7 @@ fn verify_all_signatures() {
}
println!("failed to verify `{}`", rust.name);
for error in errors {
- println!(" * {}", error);
+ println!(" * {error}");
}
all_valid = false;
}
@@ -403,18 +403,18 @@ fn verify_all_signatures() {
if PRINT_MISSING_LISTS || PRINT_MISSING_LISTS_MARKDOWN {
for (k, v) in missing {
if PRINT_MISSING_LISTS_MARKDOWN {
- println!("\n<details><summary>{:?}</summary><p>\n", k);
+ println!("\n<details><summary>{k:?}</summary><p>\n");
for intel in v {
let url = format!(
"https://software.intel.com/sites/landingpage\
/IntrinsicsGuide/#text={}&expand=5236",
intel.name
);
- println!(" * [ ] [`{}`]({})", intel.name, url);
+ println!(" * [ ] [`{}`]({url})", intel.name);
}
println!("</p></details>\n");
} else {
- println!("\n{:?}\n", k);
+ println!("\n{k:?}\n");
for intel in v {
println!("\t{}", intel.name);
}
@@ -471,6 +471,18 @@ fn matches(rust: &Function, intel: &Intrinsic) -> Result<(), String> {
continue;
}
+ // Some CPUs support VAES/GFNI/VPCLMULQDQ without AVX512, even though
+ // the Intel documentation states that those instructions require
+ // AVX512VL.
+ if *cpuid == "AVX512VL"
+ && intel
+ .cpuid
+ .iter()
+ .any(|x| matches!(&**x, "VAES" | "GFNI" | "VPCLMULQDQ"))
+ {
+ continue;
+ }
+
let cpuid = cpuid
.chars()
.flat_map(|c| c.to_lowercase())