xviexpdp

VSX Vector Insert Exponent Double-Precision

xviexpdp XT,XA,XB

Inserts the exponent from one vector register into another for double-precision floating-point numbers.

Details

Inserts the exponent field from XB into the exponent of XA to form a new double-precision floating-point value in XT. This is a VSX instruction used for constructing floating-point values with specific exponents. No condition registers or status fields are affected.

Pseudocode Operation

for i in 0 to 1 do
  exp ← XB[i*64+52:i*64+62]
  sig ← XA[i*64:i*64+51]
  XT[i*64:(i+1)*64-1] ← CONSTRUCT_FP64(exp, sig)
end for

Programming Note

The xviexpdp instruction is used to insert the exponent from one vector register into another for double-precision floating-point numbers. Ensure that the VSX (Vector Scalar Extensions) are enabled in the MSR.VSX bit before using this instruction, otherwise a VSX_Unavailable exception will be raised. The instruction operates on 64-bit elements and requires proper alignment of the source and target registers to avoid undefined behavior.

Example

xviexpdp vs1, vs2, vs3

Encoding

Binary Layout
T
0
A
6
B
11
248
16
AX BX TX
21
 
Format XX3-form
Opcode 0xF00007C0
Extension VSX

Operands

  • XT
    Target Vector Register
  • XA
    Source Vector Register
  • XB
    Source Vector Register
  • VRT
    Target Vector Register
  • VRA
    Source Vector Register
  • VRB
    Source Vector Register