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.
Encoding
Binary Layout
T
0:5
A
6:10
B
11:15
248
16:20
AX BX TX
21:31
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
Example
xviexpdp vs1, vs2, vs3
Related
More in VSX
Reference
View in PowerISA v3.1C Specification ↗
OPF Power ISA v3.1C
Description
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.
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.