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
Operands
-
BF
CR Field -
vA
Src A -
vB
Src B