VSM4R.VV

RISC-V VSM4R.VV Instruction Details

Instruction ManualR-type

Vector four SM4 encryption/decryption rounds; executes as an unmasked element-group crypto instruction.

Instruction Syntax

vsm4r.vv vd, vs2
Operand Breakdown
Destination rd: register receiving the operation result.
Source rs1: register holding the first operand.
Source rs2: register holding the second operand.
ZvksedVector CryptoSM4

Instruction Behavior

VSM4R.VV is a vector four SM4 encryption/decryption rounds instruction. SM4 forms use SEW=32, EGW=128, and EGS=4.

Quick Understanding & Search Notes

VSM4R.VV is an SM4 vector crypto instruction executed over element groups, not an ordinary independent per-element integer operation.

SM4 uses 128-bit element groups; the .vs form takes one scalar element group from vs2.
The official syntax has no vm operand, so v0.t masking is not added.

Common Usage Scenarios

Crypto & Security

Understand this scenario with real code like «vsm4r.vv vd, vs2».

Vector Acceleration

Understand this scenario with real code like «vsm4r.vv vd, vs2».

Pre-Use Checklist

Syntax Check
  • Confirm the current instruction format is R-type.
  • Confirm the operand order matches the example.
Semantic Check
  • Ensure the destination register usage is compatible with the calling convention.
  • Confirm this is not the lower-level form of a pseudo-instruction expansion.

Pitfalls / Common Confusions

There is no vm operand; this element-group crypto instruction is unmasked.
SEW must be 32, and vl/vstart must be multiples of EGS=4.
Watch vd input/output use and the official register-group overlap restrictions.

FAQ

Is VSM4R.VV an element-wise masked operation?

No. It is an element-group crypto instruction and the official syntax has no vm.

What vtype restriction matters for VSM4R.VV?

SEW must be 32 and LMUL*VLEN must cover a 128-bit element group.