In D93298: It appears that this is causing an assertion segfault in a rustc test over at our experimental rust + llvm@head bot:
https://buildkite.com/llvm-project/rust-llvm-integrate-prototype/builds/8430#167e6de5-2dd5-41c3-87d7-b6e3f3908371/262-706
The test is https://github.com/rust-lang/rust/blob/master/src/test/assembly/asm/riscv-types.rs
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Unit Tests
Event Timeline
Comment Actions
I'm unconvinced this is quite the right fix for the bug. I agree we need this code, but I disagree that this code should be needed when Zfinx isn't in use. Without Zfinx, we should never have GFPR* be legal in the first place, surely?
llvm/lib/Target/RISCV/RISCVInstrInfo.cpp | ||
---|---|---|
260 | Surely for floats in GPRs we should just use a GPR move? It'll compress better and avoids unnecessary FPU usage. |
Comment Actions
I ran the Rust testsuite with this change applied to LLVM and it fails the same way as before. Probably easy to catch if you use the IR reported in the other change?
Surely for floats in GPRs we should just use a GPR move? It'll compress better and avoids unnecessary FPU usage.