Page 323 - ARM 64 Bit Assembly Language
P. 323
312 Chapter 9
Table 9.1: Condition code meanings for ARM and FP/NEON.
<cond> ARM data processing instruction FP fcmp instruction
AL Always Always
EQ Equal Equal
NE Not Equal Not equal, or unordered
GE Signed greater than or equal Greater than or equal
LT Signed less than Less than, or unordered
GT Signed greater than Greater than
LE Signed less than or equal Less than or equal, or unordered
HI Unsigned higher Greater than, or unordered
LS Unsigned lower or same Less than or equal
HS Carry set/unsigned higher or same Greater than or equal, or unordered
CS Same as HS Same as HS
LO Carry clear/ unsigned lower less than
CC Same as LO Same as LO
MI Negative Less than
PL Positive or zero Greater than or equal, or unordered
VS Overflow Unordered (at least one NaN operand)
VC No overflow Not unordered
9.7.6 Compare
The compare instruction subtracts the value in Fm from the value in Fn and sets the flags in the
PSTATE register based on the result. The condition code meanings after an fcmp instruction
are shown in Table 9.1. The comparison instructions are:
fcmp Compare,
fcmpe Compare with Exception,
fccmp Conditional Compare, and
fccmpe Conditional Compare with Exception.
9.7.6.1 Syntax
fcmp{e} Fn, <Fm | #0.0>
fccmp{e} Fn, <Fm | #0.0>, #uimm4, cond
• For the fcmpe and fccmpe instructions, an exception is raised if any kid of NaN is en-
countered. Otherwise an exception is raised only for signaling NaNs.