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