xvf32ger

VSX Vector Float32 GER (Rank-1 Update)

xvf32ger AT, XA, XB

Performs a vector floating-point general element-wise reduction with rank-1 update.

Details

The xvf32ger instruction performs a rank-1 update on a 4x4 matrix in the Accumulator (ACC[AT]) using two 4x2 matrices from VSR[XA] and VSR[XB]. It multiplies corresponding elements of the matrices, accumulates the results, and stores them back into ACC[AT].

Pseudocode Operation

for i=0 to 3, j=0 to 3:
    ACC[AT][i][j] = fmadds(X[i][1],Y[j][1],fmuls(X[i][0],Y[j][0]))

Programming Note

The xvf32ger instruction is commonly used for matrix operations, specifically rank-1 updates. Ensure that the input matrices in VSR[XA] and VSR[XB] are correctly aligned and formatted as 4x2 matrices to avoid incorrect results. This operation requires floating-point precision and may raise exceptions if inputs are out of range or if there are NaNs or infinities involved.

Example

xvf32ger acc0, vs2, vs3

Encoding

Binary Layout
0
0
6
6
9
9
11
11
16
16
21
21
27
27
AXBX
31
 
Format XX3-form
Opcode 0xF000001B
Extension MMA
Registers Altered ACC

Operands

  • AT
    Accumulator
  • XA
    Src A (FP32)
  • XB
    Src B (FP32)