xvf16ger2pn
VSX Vector 16-bit Floating-Point GER (rank-2 update) Positive multiply, Negative accumulate
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
Encoding
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)