Page 354 - ARM 64 Bit Assembly Language
P. 354

344 Chapter 10

                  10.4.1.2 Operations

                   Name         Effect                             Description
                   fcvt<x>s     Vd[] ← fixed(Vm[],f bits)          Convert single precision to 32-bit
                                                                   signed fixed point or integer.
                   fcvt<x>u     Vd[] ← uf ixed(Vm[],f bits)        Convert single precision to 32-bit
                                                                   unsigned fixed point or integer.
                   scvtf        Vd[] ← float(Vm[])                 Convert signed 32-bit fixed point or
                                                                   integer to single precision

                   ucvtf        Vd[] ← single(Vm[])                Convert unsigned 32-bit fixed point
                                                                   or integer to single precision


                  10.4.1.3 Examples

                1     ucvtf   v0.2s,v0.2s,#4  // Convert from U(28,4) to IEEE single
                2     fcvtzs  v1.2d,v1.2d    // Convert two IEEE doubles to signed integer



                  10.4.2 Convert between half, single, and double precision

                  The following instructions can be used to convert between floating point formats:

                  fcvtl     Vector convert from half to single precision,
                  fcvtn     Vector convert from single to half precision, and
                  fcvtxn    Vector convert from double to single precision.
                  These instructions operate on vectors. There are additional conversion instructions available,
                  but they only operate on scalar values.


                  10.4.2.1 Syntax

                       fcvtl     Vd.Td, Vn.Ts
                       fcvtl2    Vd.Td2, Vn.Ts2
                       fcvtn     Vd.Td3, Vn.Ts3
                       fcvtn2    Vd.Td4, Vn.Ts4
                       fcvtxn    Vd.2s, Vn.2d
                       fcvtxn2   Vd.4s, Vn.2d



                  •  If 2 is present, then the upper 64 bits of the register containing the smaller elements will
                     be used. Otherwise, the lower 64 bits are used.
   349   350   351   352   353   354   355   356   357   358   359