xscvqpsqz

VSX Scalar Convert with round to zero Quad-Precision to Signed Quadword

xscvqpsqz VRT,VRB

Converts a quad-precision floating-point value to a signed quadword integer, rounding towards zero.

Details

Converts a quad-precision floating-point value from the source VSR to a signed 128-bit quadword integer using round-toward-zero mode and stores the result in the target VSR. Only the scalar element is processed. Out-of-range conversions saturate; FPSCR status flags are set appropriately.

Pseudocode Operation

VRT[0:127] ← ConvertToSignedQuadword_RoundTowardZero(VRB[0:127])

Programming Note

The xscvqpsqz instruction converts a quad-precision floating-point value to a signed quadword integer, rounding towards zero. It handles NaNs and infinities by setting VXSNAN or VXCVI flags and raising an exception. Ensure the source register contains a valid quad-precision float; otherwise, handle exceptions appropriately.

Example

xscvqpsqz v1, v3

Encoding

Binary Layout
63
0
FRT
6
8
11
FRB
16
836
21
Rc
31
 
Format X-form
Opcode 0xFC080688
Extension VSX
Registers Altered FPSCR (FPRF, FR, FI, VXSNAN, VXCVI)

Operands

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