mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-09-01 13:14:42 +00:00
Due to a bug in LLVM 21, build fails on x86_64 with:
`rustc-LLVM ERROR: Cannot select: intrinsic %llvm.x86.avx512.vpdpbusd.512`.
This has been fixed in Rust's build of LLVM and LLVM 22 [1]
but this is not reflected in nixpkgs' packaging of rustc.
For this reason, we temporarily disable avx512vnni support until this is fixed in nixpkgs.
This might cause a performance penalty, but should not affect correctness.
See https://github.com/NixOS/nixpkgs/pull/537113#issuecomment-4846239887
[1]: 94e2c19f86
30 lines
1.2 KiB
Diff
30 lines
1.2 KiB
Diff
diff --git a/crates/simd/src/byte.rs b/crates/simd/src/byte.rs
|
|
index 0c7c4be..87737d4 100644
|
|
--- a/crates/simd/src/byte.rs
|
|
+++ b/crates/simd/src/byte.rs
|
|
@@ -389,7 +389,7 @@ mod reduce_sum_of_xy {
|
|
}
|
|
}
|
|
|
|
- #[crate::multiversion(@"v4:avx512vnni", @"v4", @"v3", @"v2", @"a2:dotprod", @"a2", "z17", "z16", "z15", "z14", "z13", "p9", "p8", "p7", "r1")]
|
|
+ #[crate::multiversion(@"v4", @"v3", @"v2", @"a2:dotprod", @"a2", "z17", "z16", "z15", "z14", "z13", "p9", "p8", "p7", "r1")]
|
|
pub fn reduce_sum_of_xy(s: &[u8], t: &[u8]) -> u32 {
|
|
assert_eq!(s.len(), t.len());
|
|
let n = s.len();
|
|
diff --git a/crates/simd/src/halfbyte.rs b/crates/simd/src/halfbyte.rs
|
|
index e1aa016..f7dc3dc 100644
|
|
--- a/crates/simd/src/halfbyte.rs
|
|
+++ b/crates/simd/src/halfbyte.rs
|
|
@@ -411,7 +411,7 @@ mod reduce_sum_of_xy {
|
|
}
|
|
}
|
|
|
|
- #[crate::multiversion(@"v4:avx512vnni", @"v4", @"v3", @"v2", @"a2:dotprod", @"a2", "z17", "z16", "z15", "z14", "z13", "p9", "p8", "p7", "r1")]
|
|
+ #[crate::multiversion(@"v4", @"v3", @"v2", @"a2:dotprod", @"a2", "z17", "z16", "z15", "z14", "z13", "p9", "p8", "p7", "r1")]
|
|
pub fn reduce_sum_of_xy(s: &[u8], t: &[u8]) -> u32 {
|
|
assert_eq!(s.len(), t.len());
|
|
let n = s.len();
|
|
--
|
|
2.54.0
|
|
|