Skip to content

fix(riscv): lift FP and vector with the configured decoder profile - #216

Closed
carlosqwqqwq wants to merge 2 commits into
HexRaysSA:masterfrom
carlosqwqqwq:fix-riscv-lifter-decoder-profile
Closed

fix(riscv): lift FP and vector with the configured decoder profile#216
carlosqwqqwq wants to merge 2 commits into
HexRaysSA:masterfrom
carlosqwqqwq:fix-riscv-lifter-decoder-profile

Conversation

@carlosqwqqwq

Copy link
Copy Markdown
Contributor

fix(riscv): lift FP and vector with the configured decoder profile

Closes #215

Summary

The SMIR FP and RVV lifters dropped the current RiscVExtensions and decoded with a fixed rv64gc profile, so instructions disabled by the guest profile (e.g. fld with D=0, vadd.vv with V=0) were lifted instead of rejected. Both paths now use the configured profile decoder.

Validation

  • Regression covers fld and vadd.vv under RV64IMAC (must be rejected) and under the full profile (must lift).
  • cargo test --lib: 1 new test passes, full suite unchanged (8213 passed).

Notes

This is a translated-path profile gate, distinct from the direct-interpreter CSR gate tracked separately.

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 FP and RVV lifters dropped the current RiscVExtensions and decoded with a fixed rv64gc profile, so instructions disabled by the guest profile (e.g. fld with D=0, vadd with V=0) were lifted instead of rejected.
@19h

19h commented Aug 11, 2026

Copy link
Copy Markdown
Member

Thanks @carlosqwqqwq. The configured-profile decoder fix is now consolidated into #203 in commit 4ccda82, with you credited as co-author. The rollup exercises all three FP helper sites with F enabled and D disabled so the regression reaches the hard-coded decoder boundary, plus V-disabled and enabled RVV controls. Closing this PR in favor of #203.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SMIR FP/vector lifters decode with a fixed rv64gc profile

2 participants