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.

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

xvrdpim vs1, vs3

Encoding

Binary Layout
T
0
B
6
249
11
BX
16
TX
21
 
Format XX2-form
Opcode 0xF00003E4
Extension VSX
Registers Altered FPSCR.FX, FPSCR.VXSNAN

Operands

  • XT
    Target Vector Register
  • XB
    Source Vector Register