Page 308 - ARM 64 Bit Assembly Language
P. 308

Floating point 297

                     AHP Alternate Half Precision control bit.
                         0:  Use IEEE half precision format
                         1:  Use alternative half precision format.
                     DN Default NaN enable:
                         0:  Disable Default NaN mode. NaN operands propagate through to the output of a
                             floating-point operation.
                         1:  Enable Default NaN mode. Any operation involving one or more NaNs returns the
                             default NaN.

                     FZ Flush-to-Zero enable:
                         0:  Disable Flush-to-Zero mode.
                         1:  Enable Flush-to-Zero mode.
                       Flush-to-Zero mode replaces subnormal numbers with 0. This does not comply with IEEE
                       754 standard, but may increase performance.

                     RMODE Rounding mode:
                         00   Round to Nearest (RN).
                         01   Round towards Plus infinity (RP).
                         10   Round towards Minus infinity (RM).
                         11   Round towards Zero (RZ).

                     FZ16 Flush-to-zero mode control bit for half precision data processing instructions.
                         0:  Disable Flush-to-Zero mode for half precision.
                         1:  Enable Flush-to-Zero mode for half precision.

                     The FPCR can be read into an AArch64 system register, modified, and written back to change
                     settings. The code sequence for changing settings is as follows:


                    1         MRS    Xt, FPCR // Read FPCR into Xt
                    2         // set/clear bits
                    3         MSR    FPCR, Xt // Write Xt to FPCR


                     The Floating Point Status Register (FPSR) allows the programmer to view information about
                     the status of the floating point unit, the FPSR is showninFig. 9.4. The meaning of each field is
                     as follows:
                     N The Negative flag is set by vcmp if the processor is running in AArch32 mode. AArch64
                           comparisons set the PSTATE.N flag directly.
                     Z The Zero flag is set by vcmp if the processor is running in AArch32 mode. AArch64 com-
                           parisons set the PSTATE.N flag directly.
   303   304   305   306   307   308   309   310   311   312   313