xvf16ger2pn

VSX Vector 16-bit Floating-Point GER (rank-2 update) Positive multiply, Negative accumulate

xvf16ger2pn

Performs a rank-2 update of an accumulator register using 16-bit floating-point outer product, with positive multiply and negative accumulate.

Details

Performs a VSX rank-2 generalized matrix multiply (GER) update using 16-bit floating-point elements with positive multiply and negative accumulate semantics. The instruction computes an outer product of two 2-element vectors and subtracts the result from the target accumulator. This is an MMA extension instruction that updates a 2×2 block of the accumulator.

Pseudocode Operation

acc ← acc - (outer product of 2 16-bit FP elements from XA and 2 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

xvf16ger2pn

Encoding

Binary Layout
59
0
AT
6
/
9
XA
11
XB
16
146
21
AX
29
BX
30
/
31
 
Format 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 2 16-bit floating-point elements
  • XB
    Source VSX register containing 2 16-bit floating-point elements
  • AX
    Accumulator mask for rows (2 16-bit FP values, positive multiply)
  • BX
    Source mask for columns (2 16-bit FP values, negative accumulate)