Page 349 - ARM 64 Bit Assembly Language
P. 349
Advanced SIMD instructions 339
Figure 10.5: Transpose of a 3 × 3 matrix.
6 trn1 v8.8h,v10.8h,v11.8h
7 trn2 v9.8h,v10.8h,v11.8h
Fig. 10.5 shows how the trn instruction can be used to transpose a 3 × 3matrix.
10.3.5 Vector permute
These instructions are used to interleave or deinterleave the data from two vectors, or to ex-
tract bits from a vector:
zip Zip Vectors,
uzp Unzip Vectors, and
ext Byte Extract.
Fig. 10.6 gives an example of the zip instruction. The uzp instruction performs the inverse
operation.
10.3.5.1 Syntax
zip(1|2) Vd.T, Vn.T, Vm.T
uzp(1|2) Vd.T, Vn.T, Vm.T
ext Vd.Ta, Vn.Ta, Vm.Ta, #index
Figure 10.6: Example of zip1 v1.8h,v5.8h,v6.8h. The zip2 instruction does the same thing,
but uses the odd elements of the source registers, rather than the even elements.

