vse8.v

Vector 8-bit unit-stride store

Stores 8-bit elements from vector register vs3 to memory starting at address in xs1 register, using vector mask vm. The effective element width is 8 bits regardless of SEW setting.

Assembly format

vse8.v vs3, (xs1), vm

Decode Variables

Bits<1> vm = $encoding[25];
Bits<5> xs1 = $encoding[19:15];
Bits<5> vs3 = $encoding[11:7];

Execution

XReg virtual_address = X[xs1];
for (U32 i = CSR[vstart].VALUE; i < CSR[vl].VALUE; i++) {
  U32 start_bit_pos = i * 8;
  U32 end_bit_pos = start_bit_pos + 7;
  write_memory(8, virtual_address + i, V[vs3][end_bit_pos:start_bit_pos], $encoding);
}
CSR[vstart].VALUE = 0;

Exceptions

This instruction may result in the following synchronous exceptions:

  • LoadAccessFault

  • StoreAmoAccessFault

  • StoreAmoAddressMisaligned

  • StoreAmoPageFault

Encoding

svg

Defining extension

Access

M

Always

Containing profiles

  • Mandatory: None

  • Optional: None