Page 324 - ARM 64 Bit Assembly Language
P. 324

Floating point 313

                     •   cond is one of the two character condition codes from Table 3.2.
                     •   #uimm4 is a value that is used to set the NZCV flags if cond is not true.


                     9.7.6.2 Operations

                       Name        Effect                             Description
                       fcmp{e}     PSTATE ← flags(Fn − Fm)            Compare two registers
                       fcmp{e}     PSTATE ← flags(Fn − 0)             Compare to zero
                       fccmp{e}    if cond is True then               Conditional compare two registers
                                     PSTATE ← flags(Fn − Fm)
                                   else
                                     PSTATE ← uimm4
                                   end if
                       fccmp{e}    if cond is True then               Conditional compare to zero
                                     PSTATE ← flags(Fn − 0)
                                   else
                                     PSTATE ← uimm4
                                   end if


                     9.7.6.3 Examples

                    1     fcmp    s0, s1  // Subtract s1 from s0 and set NZCV flags



                     9.7.7 Conditional select

                     The conditional select instruction selects a value from one of two registers, based on the given
                     condition, and stores it in the result register. The instruction is:

                     fcsel   Conditional Select.


                     9.7.7.1 Syntax

                          fcsel      Fd, Fn, Fm, cond



                     •   Fd, Fn,and Fm must specify either three single precision registers or three double preci-
                         sion registers.
                     •   cond is one of the two character condition codes from Table 3.2.
   319   320   321   322   323   324   325   326   327   328   329