rust-lang / rust-lang/rustc_codegen_cranelift
"llvm.x86.pclmulqdq.256 is not yet supported" in crc32fast
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 2.1k
- Forks
- 157
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 3
Description
This is a strange one, because it only popped up recently on rustc nightly with cranelift.
(To be clear, I am not the developer of his library, just an indirect user of it via flate2.)
The offending line pointed to by the backtrace seems to be here.
rustc 1.100.0-nightly (17fd5b8a3 2026-08-28)
Error with relevant backtrace:
thread 'main' (1056342) panicked at /rustc/17fd5b8a37b6667b6cc137f3cc35f09759768a3b/library/core/src/panicking.rs:225:5:
llvm.x86.pclmulqdq.256 is not yet supported.
stack backtrace:
0: __rustc::rust_begin_unwind
at /rustc/17fd5b8a37b6667b6cc137f3cc35f09759768a3b/library/std/src/panicking.rs:676:5
1: core::panicking::panic_nounwind_fmt::runtime
at /rustc/17fd5b8a37b6667b6cc137f3cc35f09759768a3b/library/core/src/panicking.rs:122:22
2: core::panicking::panic_nounwind_fmt
at /rustc/17fd5b8a37b6667b6cc137f3cc35f09759768a3b/library/core/src/intrinsics/mod.rs:2641:9
3: core::panicking::panic_nounwind
at /rustc/17fd5b8a37b6667b6cc137f3cc35f09759768a3b/library/core/src/panicking.rs:225:5
4: core::core_arch::x86::vpclmulqdq::_mm256_clmulepi64_epi128::<0>
at /rustc/17fd5b8a37b6667b6cc137f3cc35f09759768a3b/library/core/src/../../stdarch/crates/core_arch/src/x86/vpclmulqdq.rs:60:14
5: crc32fast::specialized::pclmulqdq::reduce256
at /home/emblemparade/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crc32fast-1.5.1/src/specialized/pclmulqdq.rs:427:14
6: crc32fast::specialized::pclmulqdq::calculate_avx2
at /home/emblemparade/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crc32fast-1.5.1/src/specialized/pclmulqdq.rs:224:14
7: crc32fast::specialized::pclmulqdq::calculate_avx512
at /home/emblemparade/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crc32fast-1.5.1/src/specialized/pclmulqdq.rs:261:16
8: <crc32fast::specialized::pclmulqdq::State>::update
at /home/emblemparade/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crc32fast-1.5.1/src/specialized/pclmulqdq.rs:101:33
9: <crc32fast::Hasher>::update
at /home/emblemparade/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crc32fast-1.5.1/src/lib.rs:129:50
10: <flate2::crc::inner::Crc>::update
at /home/emblemparade/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/flate2-1.1.10/src/crc.rs:71:13
11: <flate2::crc::Crc>::update
at /home/emblemparade/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/flate2-1.1.10/src/crc.rs:31:9
...
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the reported call path in crc32fast's src/specialized/pclmulqdq.rs, especially reduce256 at line 427, and the Rust core_arch intrinsic _mm256_clmulepi64_epi128 shown in the backtrace. Reproduce the failure with rustc nightly and Cranelift, then verify that the crc32fast path no longer panics on llvm.x86.pclmulqdq.256.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100