Page 314 - ARM 64 Bit Assembly Language
P. 314

Floating point 303

                          fmov      Dd, Dn
                          fmov      Xd, Dn
                          fmov      Dd, Xn
                          fmov      Xd, Vn.D[1]
                          fmov      Vn.D[1], Xn


                     •   The two registers specified must be the same size.
                     •   Vn.D[1] refers to the top 64 bits of register Vn.

                     9.5.1.2 Operations

                       Name     Effect                               Description
                       fmov     Fd ← Fn                              Move Fn to Fd


                     9.5.1.3 Examples

                    1     fmov.f64 d3,d4           // d3 <- d4
                    2     fmov.f32 s5,s12          // s5 <- s12



                     9.5.2 Floating point move immediate

                     The FP/NEON instruction set provides an instruction for moving an immediate value into a
                     register, but there are some restrictions on what the immediate value can be. The instruction
                     is:

                     fmov    Floating Point Move Immediate.

                     9.5.2.1 Syntax


                          fmov      Sd, #fpimm
                          fmov      Dd, #fpimm


                     •   The floating point constant, fpimm, may be specified as a decimal number such as 1.0.
                                                                              r
                     •   The floating point value must be expressable as ±n ÷ 16 × 2 ,where n and r are integers
                         such that 16 ≤ n ≤ 31 and −3 ≤ r ≤ 4.
                     •   The floating point number will be stored as a normalized binary floating point encoding
                         with 1 sign bit, 4 bits of fraction and a 3-bit exponent (see Chapter 8, Section 8.7).
                     •   Note that this encoding does not include the value 0.0, however this value may be loaded
                         using the FMOV Sd,WZR instruction.
   309   310   311   312   313   314   315   316   317   318   319