Compare for Greater Than, Double-Precision Floating-Point Values CMPGTDP
3-89 Instruction SetSPRU733
Compare for Greater Than, Double-Precision Floating-Point Values
CMPGTDP
Syntax CMPGTDP (.unit) src1, src2, dst
.unit = .S1 or .S2
Compatibility C67x and C67x+ CPU
Opcode
31 29 28 27 23 22 18 17 13 12 11 6 5 4 3 2 1 0
creg z dst src2 src1 x 1 0 1 0 0 1 1 0 0 0 s p
3 1 5 5 5 1 1 1
Opcode map field used... For operand type... Unit
src1
src2
dst
dp
xdp
sint
.S1, .S2
Description Compares src1 to src2. If src1 is greater than src2, then 1 is written to dst;
otherwise, 0 is written to dst.
Execution if (cond) {
if (src1 > src2) 1 → dst
else 0 → dst
}
else nop
Special cases of inputs:
Input FAUCR Bits
src1 src2
Output
UNORD
INVAL
NaN don’t care 0 1 1
don’t care NaN 0 1 1
NaN NaN 0 1 1
+/−denormalized +/−0000
+/−0+/−denormalized 0 0 0
+/−0+/−0000
+/−denormalized +/−denormalized 0 0 0
+infinity +infinity 0 0 0
+infinity other 1 0 0
−infinity −infinity 0 0 0
−infinity
other 0 0 0