xsmsubasp

VSX Scalar Multiply Subtract Add Pair Single Precision

xsmsubasp XT,XA,XB

Performs a multiply-subtract-add operation on single-precision floating-point values.

Details

The xsmsubasp instruction performs the following operations: (src1 * src2) - src3 + tgt, where src1 is VSR[XA].dword[0], src2 is VSR[XT].dword[0], and src3 is VSR[XB].dword[0]. The result is stored in VSR[XT].dword[0].

Pseudocode Operation

tgt <- (src1 * src2) - src3 + tgt
VSR[XT].dword[0] <- tgt

Programming Note

See Table 7.10, “VSX Scalar Floating-Point Final Result,” on page 618.

Example

xsmsubasp vs1, vs2, vs3

Encoding

Binary Layout
60
0
XT
6
XA
11
XB
16
136
21
 
Format X-form
Opcode 0xF0000088
Extension VSX
Registers Altered FPSCR

Operands

  • XT
    Target Vector-Scalar Register
  • XA
    Source Vector-Scalar Register
  • XB
    Source Vector-Scalar Register
  • FRT
    Target Floating Point Register
  • FRB
    Source Floating Point Register
  • FRA
    Source Floating Point Register