vmsumubm
Vector Multiply-Sum Unsigned Byte Modulo
Multiplies bytes and sums adjacent results into words.
Details
The vmsumubm instruction performs a vector multiply-sum operation on unsigned bytes. It multiplies each byte of the first source vector by the corresponding byte of the second source vector, adds the result to the corresponding word element of the third source vector, and stores the low-order 16 bits of the sum in the destination vector.
Pseudocode Operation
Programming Note
This instruction is commonly used for performing efficient vectorized operations on unsigned byte data. Ensure that the Vector Facility (MSR.VEC) is enabled before using this instruction; otherwise, a Vector_Unavailable exception will be raised. The operation processes 8 bytes per iteration, multiplying corresponding elements and adding to the third source vector's word element, storing the result in the destination vector. Be cautious of overflow as only the low-order 16 bits are stored.
Example
Encoding
Operands
-
vD
Target -
vA
Src A -
vB
Src B -
vC
Accumulator