pmxvi8ger4pp

Prefixed Masked VSX Vector 8-bit Signed/Unsigned Integer GER (rank-4 update) Positive multiply, Positive accumulate

pmxvi8ger4pp

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

pmxvi8ger4pp

Encoding

Binary Layout
59
0
AT
6
/
9
XA
11
XB
16
2
21
AX
29
BX
30
/
31
 
Format MMIRR:XX3-form
Opcode 0x7E000000
Extension MMA

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