chipsalliance / chipsalliance/riscv-vector-tests

Generate Load/Store tests where EEW!=SEW

Open
#72 2 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.