I am learning neon and found a line of code as the following:
DATA .req r0
vld1.16 {d16, d17, d18, d19}, [DATA, :128]!
I can not find any information about what the :128 means. In RealView Compilation Tools® Version 3.1 Assembler Guide, immediate value in vldn's address register is not defined, even if :128 means #128. What is the difference between :128 and #128? What does :128 mean exactly in this instruction?
Thanks
The assembler syntax for that instruction according to the ARM Architecture Reference Manual is:
VLD1<c><q>.<size> <list>, [<Rn>{@<align>}]!
So it looks like your :128
means @128
from that context.
<align>
The alignment. It can be one of:...
128
16-byte alignment, available only if<list>
contains two or four registers.