Skip to content
This repository has been archived by the owner on Mar 20, 2024. It is now read-only.

Commit

Permalink
Added description on HINTS on register move instructons (vmv and vm<n…
Browse files Browse the repository at this point in the history
…>r).

Discussed in issue #503.
  • Loading branch information
kasanovic committed Jul 3, 2020
1 parent d35b23f commit 2144559
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion v-spec.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3099,6 +3099,13 @@ sequence `vmv.v.i vd, 0; vmerge.vim vd, vd, 1, v0`.
NOTE: The vector integer move instructions share the encoding with the vector
merge instructions, but with `vm=1` and `vs2=v0`.

NOTE: The form `vmv.v.v vd, vd`, which does not change architectural
state, is used as a HINT to indicate that the register will be used
with an EEW equal to SEW. Implementations that internally reorganize
data according to EEW can shuffle the internal representation
according to SEW. Implementations that do not internally reorganize
data can dynamically elide this instruction, and treat as a NOP.

== Vector Fixed-Point Arithmetic Instructions

A set of vector arithmetic instructions is provided to support
Expand Down Expand Up @@ -4618,7 +4625,10 @@ appropriately for the vector register group size.
NOTE: A future extension may relax the vector register alignment
restrictions.

NOTE: If `vd` is equal to `vs2` the instruction is a NOP.
NOTE: If `vd` is equal to `vs2` the instruction is an architectural
NOP, but is treated as a HINT to implementations that rearrange data
internally that the register group will next be accessed with an EEW
equal to SEW.

== Exception Handling

Expand Down

0 comments on commit 2144559

Please sign in to comment.