Closed huxuan0307 closed 6 months ago
Thanks for the feedback, will take a look tomorrow.
Added support for different data/offset widths in the above commit, sorry for the delay. The generated tests look good for me now, feel free to reopen this if there is any follow-up issue.
@ksco That patch results in code that causes accesses to undefined/out-of-bounds regions.
I do make VLEN=256 SPLIT=2000 MODE=virtual
, which results in two types of failures:
testdata
array. That region can change between stage1
and stage2
IMO, the easiest way to resolve this is to fold in the index-generation and indexed-data generation into a single step, so the generator can guarantee that all indexed accesses like within the generated region.
Segmented loads/stores make this more complex as well.
Oops I forgot, my make command only works with latest riscv-test-env, that should be bumped
Ok, let me bump it and try.
Fixed, the main issue is we are using the same data section for all split tests, while it's okay for non-virtual env, I think it's sometimes too large for the virtual env. Anyway, I split the data section in above commit, and it works.
Currently it's only a workaround, the generator code is ugly and certainly needs some refactoring.
The vector extension allows index load insts to use different width of data and index. For example: