xscmpopoqp

VSX Scalar Compare Ordered Quad-Precision

xscmpopoqp BF, vA, vB

Compares Quad floats (Signaling on NaN).

Details

Compares two quad-precision floating-point values in VSRs vA and vB, signaling (raising exception) if either operand is a quiet NaN, and stores the comparison result (Less Than, Greater Than, Equal, or Unordered) in condition register field BF. The FPSCR VE flag may be set on NaN detection.

Pseudocode Operation

if (vA is NaN) or (vB is NaN) then FPSCR[VXSNAN] ← 1
if vA < vB then CR[BF] ← 0b100
else if vA > vB then CR[BF] ← 0b010
else if vA = vB then CR[BF] ← 0b001
else CR[BF] ← 0b011 (unordered)

Example

xscmpopoqp cr0, va, vb

Encoding

Binary Layout
63
0
BF
6
/
9
vA
11
vB
16
132
21
/
31
 
Format X-form
Opcode 0xFC000108
Extension VSX

Operands

  • BF
    CR Field
  • vA
    Src A
  • vB
    Src B