fix(riscv): gate SMIR system lift on Zifencei/Zicsr/F/V - #222
fix(riscv): gate SMIR system lift on Zifencei/Zicsr/F/V#222carlosqwqqwq wants to merge 2 commits into
Conversation
cpu.rs exceeded the AGENTS.md hard split triggers (2000 lines / 150 kB). Move the vector (RVV) element access and data-path execution group, including set_vtype, into cpu/vector.rs with no behavior change.
The SMIR system lifter lifted FENCE.I without Zifencei and CSR ops without Zicsr (and fcsr/vector CSRs without F/V). The extension gates now reject the disabled encodings.
|
I reviewed the focused commit Three changes are needed before this is merge-ready:
The existing focused controls pass, but the independent gate matrix is needed for the four-condition claim. |
|
Thank you @carlosqwqqwq for identifying the SMIR extension-profile gaps and proposing a fix. We independently reimplemented and validated the Zifencei, Zicsr, F, and V gates in #231, where this is consolidated with #218, #220, and #224. No commits from this branch were taken. To keep review and CI on one maintained branch, I’m closing this PR as superseded by #231. You are credited as co-author on the consolidation commit—please review #231, particularly the independent profile combinations. |
fix(riscv): gate SMIR system lift on Zifencei/Zicsr/F/V
Closes #221
Summary
The SMIR system lifter lifted
FENCE.Iwithout Zifencei and CSR operations without Zicsr, and modeled the fcsr/vector CSRs without F/V. The extension gates now reject the disabled encodings withInvalidEncoding.Validation
fence.i,csrr fcsr, andcsrr vlunder a minimal profile (must be rejected) and under the full profile (must lift).cargo test --lib: 1 new test passes.Notes
Translated-path gate, independent from the direct-interpreter CSR gate.