vncipherlast

Vector Inverse Cipher Last

vncipherlast vD, vA, vB

Performs the final round of AES decryption.

Details

Performs the final round of AES decryption on a 128-bit block, applying the inverse MixColumns and InvSubBytes operations followed by AddRoundKey with the provided round key. This instruction is part of the Vector Crypto extension and operates on 128-bit values held in vector registers. No status flags are affected.

Pseudocode Operation

vD ← InvCipherLast(vA, vB)

Programming Note

The vncipherlast instruction is used to complete the AES inverse cipher process by applying the final transformations. Ensure that the Vector Facility (MSR.VEC) is enabled before using this instruction; otherwise, a Vector_Unavailable exception will be raised. The input State and RoundKey must be correctly loaded into VSR registers VRA+32 and VRB+32, respectively, to avoid incorrect results.

Example

vncipherlast vd, va, vb

Encoding

Binary Layout
4
0
vD
6
vA
11
vB
16
1353
21
 
Format VX-form
Opcode 0x10000549
Extension Vector Crypto
Registers Altered MSR

Operands

  • vD
    Target
  • vA
    State
  • vB
    Round Key