Page 352 - ARM 64 Bit Assembly Language
P. 352
342 Chapter 10
10.3.6.2 Operations
Name Effect Description
tbl Minr ← first register Use indices Vm to look up values in
Maxr ← last register a table and store them in Vd.Ifthe
for 0 ≤ i< 16 do index is out of range, zero is stored in
r ← Minr + (Vm[i]÷ 16) the corresponding destination.
if r> Maxr then
Vd[i]← 0
else
e ← Vm[i] mod 16
Vd[i]← Vr[e]
end if
end for
tbx Minr ← first register Use indices Vm to look up values in a
Maxr ← last register table and store them in Vd.Ifthe in-
for 0 ≤ i< 16 do dex is out of range, the corresponding
r ← Minr + (Vm[i]÷ 16) destination is unchanged.
if r ≤ Maxr then
e ← Vm[i] mod 8
Vd[i]← Vr[e]
end if
end for
10.3.6.3 Examples
1 tbl V1.8b,{v2.16b},v3.8b
2 tbl V1.8b,{v2.16b-v3.16b},v3.8b
3 tbl V1.8b,{v2.16b-v4.16b},v3.8b
4 tbl V1.8b,{v2.16b-v5.16b},v3.8b
10.4 Data conversion
When high precision is not required, The IEEE half-precision format can be used to store
floating point numbers in memory. This can reduce memory requirements by up to 50%.
This can also result in a significant performance improvement, since only half as much data
needs to be moved between the CPU and main memory. However, on most processors half-
precision data must be converted to single or double precision before it is used in calculations.
Advanced SIMD provides instructions to support conversion to and from IEEE half precision.

