chipsalliance / chipsalliance/riscv-vector-tests
Generate Load/Store tests where EEW!=SEW
- Dominant language
- Go
- Stars
- 118
- Forks
- 40
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
I noticed that the load/store tests only generate tests where SEW==EEW, Is there any way I can generate tests for EEW!=SEW?
For Example:
When I run this cmd ..
```
make -e VLEN=2048 XLEN=64 MODE=machine PATTERN='^vle8\.v$' -j8
```
I get tests like ...
```
...
...
# -------------- TEST BEGIN --------------
li t0, 255
vsetvli t1, t0, e8,mf4,ta,ma
vle8.v v1, (a0), v0.t
# -------------- TEST END --------------
...
...
```
here sew==eew, I want to generate tests where same `vle8.v` is tested with different SEWs (vsetvli).
I saw for Indexed load/store it does generate tests where eew!=sew ... like this below command generates ..
```
make -e VLEN=2048 XLEN=64 MODE=machine PATTERN='^vluxei8\.v$' -j8
```
tests like ... (eew!=sew)
```
# -------------- TEST BEGIN --------------
li t0, 139
vsetvli t1, t0, e16,mf4,ta,ma
vluxei8.v v1, (a0), v2
# -------------- TEST END --------------
```
or Is this scripts don't support this for UnitStride/Strided Instructions? (if yes! Can you guide me a bit how can this be generated?)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing the generator path used by the UnitStride and Strided load/store instructions, then compare it with the Indexed load/store path shown in the issue. Use the provided vle8.v and vluxei8.v make commands as reproductions; done means UnitStride/Strided generation can produce cases where the instruction EEW differs from the vsetvli SEW.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- testing-qa
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100