xscvqpuwz

VSX Scalar Convert with round to zero Quad-Precision to Unsigned Word format

xscvqpuwz VRT,VRB

Converts a quad-precision floating-point value to an unsigned word format.

Details

Converts a quad-precision floating-point value from the source VSR to an unsigned 32-bit word integer using round-toward-zero mode and stores the result in the target VSR. Only the scalar element is processed. Out-of-range or negative values saturate; FPSCR status is updated with conversion exception flags.

Pseudocode Operation

VRT[0:31] ← ConvertToUnsignedWord_RoundTowardZero(VRB[0:127])
VRT[32:127] ← 0

Programming Note

This instruction is used to convert a quad-precision floating-point number to an unsigned 32-bit integer, rounding towards zero. Be cautious with NaN and out-of-range values, as they can trigger exceptions and set specific flags in the FPSCR register. Ensure that the source vector register (VRB+32) contains a valid quad-precision value to avoid unexpected behavior.

Example

xscvqpuwz v1, v3

Encoding

Binary Layout
63
0
FRT
6
1
11
FRB
16
836
21
Rc
31
 
Format X-form
Opcode 0xFC010688
Extension VSX
Registers Altered FPSCR.FR, FPSCR.FI, FPSCR.FPRF, FPSCR.FX

Operands

  • VRT
    Target Vector-Scalar Register
  • VRB
    Source Vector-Scalar Register