Can VAESKF1.VI always use a v0.t mask?
No. This element-group crypto instruction has no vm operand; ordinary RVV mask syntax should not be added to examples.
Vector AES-128 forward key-schedule step selected by uimm; SEW=32, no vm operand.
vd and vs2 select vector registers v0–v31; uimm is a five-bit unsigned immediate, 0–31. There is no v0.t mask operand; v0 is writable as ordinary data.
32-bit OP-VE: funct6=100010, vm=1, vs2[24:20], uimm[4:0][19:15], funct3=010, vd[11:7], opcode=1110111.
Requires enabled Zvkned and vector state, SEW=32, EGW=128, EGS=4. vs2 provides the current key and vd receives the next key. Rounds 1–10: ignore uimm[4]; invert bit3 for low-four-bit values 0 or 11–15, mapping to 8 or 3–7.
Process groups vstart/4 through vl/4−1. Encodings with vl/vstart not divisible by 4, or SEW≠32, are reserved. LMUL*VLEN<128 raises an illegal-instruction exception even if vl=0. Register groups follow V-extension alignment rules; execution latency must not depend on operand data.
VAESKF1.VI uses opcode 1110111 (0x77), funct3 010. 32-bit OP-VE: funct6=100010, vm=1, vs2[24:20], uimm[4:0][19:15], funct3=010, vd[11:7], opcode=1110111.
vaeskf1.vi is the Zvkned AES-128 forward key-schedule instruction. It reads the current round key from 128-bit element groups in vs2, uses the uimm-selected round number to generate the next AES-128 round key, and writes it to vd. SEW must be 32.
Vector AES-128 forward key-schedule step selected by uimm; SEW=32, no vm operand.
vd and vs2 select vector registers v0–v31; uimm is a five-bit unsigned immediate, 0–31. There is no v0.t mask operand; v0 is writable as ordinary data.
32-bit OP-VE: funct6=100010, vm=1, vs2[24:20], uimm[4:0][19:15], funct3=010, vd[11:7], opcode=1110111.
Requires enabled Zvkned and vector state, SEW=32, EGW=128, EGS=4. vs2 provides the current key and vd receives the next key. Rounds 1–10: ignore uimm[4]; invert bit3 for low-four-bit values 0 or 11–15, mapping to 8 or 3–7.
Process groups vstart/4 through vl/4−1. Encodings with vl/vstart not divisible by 4, or SEW≠32, are reserved. LMUL*VLEN<128 raises an illegal-instruction exception even if vl=0. Register groups follow V-extension alignment rules; execution latency must not depend on operand data.
With Zvkned and vector state enabled, VLEN=128, LMUL=1, SEW=32, vl=4, vstart=0, and zero input groups in v8 and v16, the basic example's round number and this page's rules produce v8=0x63636362636363626363636263636362.
With Zvkned and vector state enabled, VLEN=128, LMUL=1, SEW=32, vl=4, vstart=0, and zero input groups in v8 and v16, the basic example's round number and this page's rules produce v8=0x63636362636363626363636263636362.
No. This element-group crypto instruction has no vm operand; ordinary RVV mask syntax should not be added to examples.
Defined only for SEW=32, with EGW=128 and EGS=4. Other SEW values, or vl/vstart not divisible by 4, are reserved. LMUL*VLEN<128 raises an illegal-instruction exception even if vl=0.
uimm is a five-bit unsigned immediate, 0–31; uimm[4] is ignored. Low-four-bit values 0 or 11–15 invert bit3: 0→8 and 11–15→3–7, giving rounds 1–10.