Skip to content

Commit b1d0256

Browse files
authored
Avoid describing vmv<nr>r.v vd, vd as a NOP (riscv#2137)
...because it resets vstart to 0. Resolves riscv#2135
1 parent e731f4e commit b1d0256

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/v-st-ext.adoc

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3041,7 +3041,7 @@ with an EEW equal to SEW.
30413041
NOTE: Implementations that internally reorganize data according to EEW
30423042
can shuffle the internal representation according to SEW.
30433043
Implementations that do not internally reorganize data can dynamically
3044-
elide this instruction, and treat as a NOP.
3044+
elide this instruction (aside from resetting `vstart` to 0).
30453045

30463046
NOTE: The `vmv.v.v vd, vd` instruction is not a RISC-V HINT as a
30473047
tail-agnostic setting may cause an architectural state change on some
@@ -4818,9 +4818,10 @@ NOTE: The usual property that no elements are written if `vstart` {ge} `vl`
48184818
does not apply to these instructions.
48194819
Instead, no elements are written if `vstart` {ge} `evl`.
48204820

4821-
NOTE: If `vd` is equal to `vs2` the instruction is an architectural
4822-
NOP, but is treated as a hint to implementations that rearrange data
4823-
internally that the register group will next be accessed with an EEW
4821+
NOTE: If `vd` is equal to `vs2`, the instruction does not change any
4822+
vector register state.
4823+
Implementations that rearrange data internally can treat this instruction
4824+
as a hint that the register group will next be accessed with an EEW
48244825
equal to SEW.
48254826

48264827
The instruction is encoded as an OPIVI instruction. The number of

0 commit comments

Comments
 (0)