Page 345 - ARM 64 Bit Assembly Language
P. 345

Advanced SIMD instructions 335

                     •   The type T3 may be b or h.
                     •   Ts may be 8b, 16b, 4h, 8h, 2s,or 4s.
                     •   T4 may be b, h,or s.
                     •   Both immediates, index and index2, must be valid for the type of vector element speci-
                         fied.
                     •   INS Vd.T[index],Wn is an alias for MOV Vd.T[index],Wn.
                     •   INS Vd.D[index],Xn is an alias for MOV Vd.2d[index],Xn.
                     •   INS Vd.T[index],Vn.T[index2] in an alias for MOV Vd.T[index], Vn.T[index2].


                     10.3.2.2 Operations

                       Name                        Effect                     Description
                       mov Vd.T[x],Wn              Vd.T [x]← Wn               Copy least-significant bits
                                                                              from Wn to specified ele-
                                                                              ment of Vd.
                       mov Vd.2d[x],Xn             Vd.2d[x]← Xn               Copy from Xn to specified
                                                                              element of Vd.
                       mov Vd.T2[x],Vn.T2[x2]      Vd.T [x]← Vn.T [x2]        Copy element x2 from Vn
                                                                              to element x of Vd.

                       smov Wd, Vn.T3[x]           Wd ← signExtend(Vn[x])     Move sign-extended ele-
                                                                              ment from Vn to Wd.
                       umov Wd, Vn.Ts[x]           Wd ← zeroExtend(Vn[x])     Move zero-extended ele-
                                                                              ment from Vn to Wd.
                       smov Xd, Vn.T4[x]           Xd ← signExtend(Vn[x])     Move sign-extended ele-
                                                                              ment from Vn to Xd.
                       umov Xd, Vn.d[x]            Xd ← zeroExtend(Vn[x])     Move zero-extended ele-
                                                                              ment from Vn to Xd.

                     10.3.2.3 Examples


                    1     mov   v3.2s[1],v4.2s[0]
                    2     umov  x3,v4.d[1]




                     10.3.3 Move immediate

                     These instructions are used to load immediate data into the vector registers:
   340   341   342   343   344   345   346   347   348   349   350