Page 347 - ARM 64 Bit Assembly Language
P. 347

Advanced SIMD instructions 337

                     10.3.3.2 Operations

                       Name     Effect                               Description
                       movi     if uimm64 is present then            Replicate immediate data, possibly
                                 c ← uimm64                          shifted, into each element.
                                else
                                 c ← shif t(sop,uimm8,shift)
                                end if
                                n ← # of elements
                                for 0 ≤ i< n do
                                 Vn[i]← c
                                end for
                       mvni     c ←¬shif t(sop,uimm8,shift)          Replicate complement of immediate
                                n ← # of elements                    data, possibly shifted, into each ele-
                                for 0 ≤ i< n do                      ment.
                                 Vn[i]← c
                                end for
                       fmov     n ← # of elements                    Replicate immediate data into each
                                for 0 ≤ i< n do                      element.
                                 Vn[i]← fpimm
                                end for

                     10.3.3.3 Examples

                    1     movi  v0.16b, #0xAA
                    2     mvni  v0.8h, #0xAA, lsl #8



                     10.3.4 Transpose matrix

                     Advanced SIMD provides two versions of the transpose instruction that can be used together
                     for transposing 2 × 2 matrices. Fig. 10.4 shows two examples of this instruction. The instruc-
                     tion is:

                     trn        Transpose Matrix.

                     10.3.4.1 Syntax

                          trn(1|2)     Vd.T, Vn.T, Vm.T
   342   343   344   345   346   347   348   349   350   351   352