xvrdpim
VSX Vector Round to Double-Precision Integer using round toward -Infinity
xvrdpim XT,XB
Rounds the contents of a vector register towards negative infinity and stores the result in another vector register.
Encoding
Binary Layout
T
0:5
B
6:10
249
11:15
BX
16:20
TX
21:31
Operands
-
XT
Target Vector Register -
XB
Source Vector Register
Reference
View in PowerISA v3.1C Specification ↗
OPF Power ISA v3.1C
Description
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.
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.