xvrdpim
VSX Vector Round to Double-Precision Integer using round toward -Infinity
Rounds the contents of a vector register towards negative infinity and stores the result in another vector register.
Details
Rounds each double-precision floating-point element in the source VSR towards negative infinity (-∞) and stores the result in the target VSR. The rounding mode is floor, affecting the FPSCR rounding control. This operation is performed on the two double-precision elements in each 128-bit VSR.
Pseudocode Operation
XT[0:63] ← RoundTowardMinusInfinity(XB[0:63])
XT[64:127] ← RoundTowardMinusInfinity(XB[64:127])
Programming Note
The xvrdpim instruction is commonly used for rounding double-precision floating-point numbers towards negative infinity in vector operations. Ensure that the VSX (Vector Scalar Extensions) are enabled, as attempting to use this instruction when they are not will result in an unavailable exception. Be cautious with signaling NaNs, as they are converted to quiet NaNs and VXSNAN is set in the FPSCR register.
Example
Encoding
Operands
-
XT
Target Vector Register -
XB
Source Vector Register