vncipherlast
Vector Inverse Cipher Last
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
Encoding
Operands
-
vD
Target -
vA
State -
vB
Round Key