pmxvi8ger4pp
Prefixed Masked VSX Vector 8-bit Signed/Unsigned Integer GER (rank-4 update) Positive multiply, Positive accumulate
Performs a prefixed masked VSX vector 8-bit signed/unsigned integer GER rank-4 update with positive multiply and positive accumulate, adding the result to the accumulator.
Details
Performs a prefixed masked VSX vector 8-bit signed/unsigned integer generalized matrix multiply (GER) rank-4 update with positive multiply and positive accumulate semantics, adding the outer product result to the target accumulator register. This instruction is part of the MMA (Matrix-Multiply Assist) extension and uses masking to selectively update the accumulator based on mask fields AT, AX, and BX.
Pseudocode Operation
acc ← acc + (masked outer product of 4 8-bit columns from XA and 4 8-bit rows from XB)
Programming Note
When Rc=1 (dot form), CR0 is updated with the signed comparison of the result against zero (LT, GT, EQ) and the current SO bit from XER.
Example
Encoding
Operands
-
AT
Accumulator target index (specifies which accumulator register in the range ACC0-ACC7) -
XA
Source VSX register containing 8-bit integer data elements -
XB
Source VSX register containing 8-bit integer data elements -
AX
Accumulator mask specifying which rows of the result are updated -
BX
Source mask specifying which columns are used from input operands