xscvdpqp
VSX Scalar Convert Double-Precision to Quad-Precision format
Converts a double-precision floating-point value to a quad-precision floating-point value.
Details
Converts a double-precision floating-point value held in a VSX register to quad-precision format and stores the result in a VSX register pair. The conversion is exact since double-precision has fewer significant bits than quad-precision. This instruction requires VSX support and updates FPSCR with exception flags as needed.
Pseudocode Operation
FPR[vD:vD+1] ← convert_to_quad_precision(FPR[vB])
FPSCR ← updated with exception flags
Programming Note
This instruction is used to convert a double-precision floating-point number to a quad-precision format. Ensure that the VSX (Vector Scalar Extensions) are enabled in the MSR register, otherwise, an exception will be raised. Be cautious with signaling NaNs (SNaNs), as they are converted to quiet NaNs and may trigger exceptions based on the FPSCR settings.
Example
// Promote Double to Quad.
Encoding
Operands
-
vD
Target (Quad) -
vB
Source (Double) -
VRT
Target Vector-Scalar Register -
VRB
Source Vector-Scalar Register