xvmuldp

VSX Vector Multiply Double-Precision

xvmuldp XT, XA, XB

Multiplies two double-precision floating-point numbers in vector registers and stores the result.

Details

VSX Vector Multiply Double-Precision multiplies two double-precision floating-point elements from VSX registers XA and XB, storing the results in VSX register XT. This VSX category instruction processes two 64-bit elements in parallel and may update FPSCR with floating-point exception flags.

Pseudocode Operation

XT[0:63] ← XA[0:63] × XB[0:63]
XT[64:127] ← XA[64:127] × XB[64:127]

Programming Note

The xvmuldp instruction performs element-wise multiplication of double-precision floating-point values in VSX registers. Ensure that the input vectors are properly aligned to avoid alignment faults. Be cautious with NaN and infinity handling, as they follow specific rules for propagation and sign determination. This instruction operates at user privilege level.

Example

xvmuldp vs1, vs2, vs3

Encoding

Binary Layout
60
0
XT
6
XA
11
XB
16
112
21
 
Format XX3-form
Opcode 0xF0000380
Extension VSX
Registers Altered FPSCR

Operands

  • XT
    Target
  • XA
    Src A
  • XB
    Src B