| 30 Jun 2026 |
K900 | But we don't want to eat an LLVM rebuild for this probably | 17:26:53 |
K900 | But we might want to eat a rustc rebuild for the 1.96.1 miscompilation | 17:27:11 |
Lach | E.g postgresqlPackages.vectorchord | 17:27:18 |
K900 | Alyssa Ross thoughts | 17:27:20 |
Lach | I don't think it can be fixed on rustc side? | 17:27:34 |
Lach | Also I'm not sure if this is the only commit we need for 1.96... | 17:27:49 |
Lach | It can be fixed by enabling withBundledLLVM flag for rustc it seems?.. | 17:29:43 |
K900 | That would suck | 17:31:17 |
Grimmauld (any/all) | Can't we override the llvm going into rustc as a hack? | 17:32:23 |
Lach | But it seems to be best solution given that rustc expects patches that were not merged in upstream llvm at the time | 17:32:35 |
Lach | I'm not sure if there is more and this one commit is enough | 17:33:08 |
whispers [& it/fae] | it's 40000 linux/30000 darwin roughly. pretty big. (https://github.com/NixOS/nixpkgs/pull/537054) | 17:36:21 |
Lach | Actually, this fix is in llvm 22
We can switch rustc to build with llvmPackages_22 maybe? | 17:38:13 |
emily | do any of the major cryptography libraries use AVX512 runtime detection? | 17:38:19 |
emily | imo if yes → eat the rebuilds, if no → package 1.96.1 separately for this cycle and override stuff we know will break to use it | 17:38:37 |
Lach | I think it affects only _mm512_dpbusd_epi32 intrinsic specifically | 17:39:05 |
emily | looks like zlib-rs uses it. ouch. | 17:39:38 |
Lach | zlib_rs, ndarray are using it | 17:39:55 |
emily | https://github.com/trifectatechfoundation/zlib-rs/blob/5a96dcf8f36644074ca604dadae36591de5551a5/zlib-rs/src/adler32/avx512.rs#L42 or not? "emulated"… | 17:39:58 |
emily | if it actually affects zlib-rs then that's serious enough we should probably reroll Rust | 17:40:35 |
Lach | https://github.com/AdaWorldAPI/ndarray/blob/8c381a61040884180f3909d755f45d129d14cd4c/src/hpc/int8_tile_gemm.rs#L152 | 17:40:38 |
emily | it seems like it only calls this "emulated" version though | 17:41:05 |
Lach | https://github.com/trifectatechfoundation/zlib-rs/blob/5a96dcf8f36644074ca604dadae36591de5551a5/zlib-rs/src/adler32/avx512_vnni.rs#L84 | 17:42:12 |
Lach | vnni path uses the real one | 17:42:49 |
emily | aha, ok. separate files. | 17:42:48 |
emily | can we get Linux to fake CPUID? 🤪 | 17:43:05 |
Lach | It won't help since it breaks at compile time | 17:43:24 |
Lach | llvm 21 doesn't understand the code that rustc 1.96 emits | 17:43:38 |
Lach | It needs this patch https://github.com/rust-lang/llvm-project/commit/94e2c19f86a699d7a19ff0f4130b696699189c8d | 17:43:55 |
emily | oh, it's just a build failure? | 17:44:15 |