Page 350 - ARM 64 Bit Assembly Language
P. 350
340 Chapter 10
• T is 8b, 16b, 4h, 8h, 2s, 4s,or 2d.
• For zip and uzp:
• If 1 is present, use lower half of source registers.
• If 2 is present, use upper half of source registers.
• Ta is either 8b (use only 64 bits of each register) or 16b (use all 128 bits of each regis-
ter).
• index is an immediate value in the range 0 to nelem(T) − 1.
10.3.5.2 Operations
Name Effect Description
zip o ← 0 Interleave data from two vectors.
n ← # of elements
if 2 is present then
o ← n ÷ 2
end if
for 0 ≤ i< n do
if even(i) then
Vd[i]← Fn[i ÷ 2 + o]
else
Vd[i]← Fm[ i ÷ 2 + o]
end if
end for
uzp o ← 0 Deinterleave data from two vectors.
if 2 is present then
o ← 1
end if
n ← # of elements
for 0 ≤ i< n do
if i< n ÷ 2 then
Vd[i]← Fn[i × 2 + o]
else
Vd[i]← Fm[i × 2 + o]
end if
end for
continued on next page

