P23 adds the official I-jalr-00.S test to the P22 strict subset.
Status: RTL pass for a 25-test official subset. These are upstream
riscv-arch-testsources built inRVTEST_SELFCHECKmode, UART-loaded into the P17 external-memory model, and accepted only when the core reaches the local pass convention.
The Result
Run it:
make -C projects/23_rv32i_jalr_tests/test
| group | result |
|---|---|
P22 baseline: no-op/fence, LUI, AUIPC, JAL, immediate ALU, R-type ALU | PASS |
I-jalr-00.S | PASS |
Summary: PASS=25 FAIL=0 NOT RUN=0
This is not a full RV32I compliance claim. It is a larger, strict, official subset.
Signature Model
JALR uses the same reference-emulated signature path added for JAL:
- Build the official test in normal signature-writing mode.
- Run that image through the local RV32I interpreter.
- Read the signature words.
- Rebuild the test in
RVTEST_SELFCHECKmode with those words.
For P23, that path is enabled for I-jal-00.S and I-jalr-00.S.
What This Proves
The official pass set now covers the no-op/fence baseline, LUI, AUIPC,
JAL, JALR, all modeled immediate ALU tests, and all modeled R-type ALU
tests.
The remaining unclaimed RV32I/I tests are branches, loads, and stores.