You copied the Doc URL to your clipboard.

14.45 VLDn (multiple n-element structures)

Vector Load multiple n-element structures.

Syntax

VLDn{cond}.datatypelist,[Rn{@align}]{!}

VLDn{cond}.datatypelist,[Rn{@align}],Rm

where:

n

must be one of 1, 2, 3, or 4.

cond

is an optional condition code.

datatype

see the following table for options.

list

is the list of Advanced SIMD registers enclosed in braces, { and }. See the following table for options.

Rn

is the ARM register containing the base address. Rn cannotbe PC.

align

specifies an optional alignment. See the following table for options.

!

if ! is present, Rn isupdated to (Rn + the number of bytestransferred by the instruction). The update occurs after all theloads have taken place.

Rm

is an ARM register containing an offset from thebase address. If Rm is present,the instruction updates Rn to (Rn + Rm) after usingthe address to access memory. Rm cannotbe SP or PC.

Operation

VLDn loads multiple n-element structures from memory into one or more Advanced SIMD registers, with de-interleaving (unless n == 1). Every element of each register is loaded.

Table 14-6 Permitted combinations of parameters for VLDn (multiple n-element structures)

ndatatypelist aalignbalignment
1 8, 16, 32, or64{Dd}@648-byte
  {Dd, D(d+1)}@64 or @1288-byte or 16-byte
  {Dd, D(d+1), D(d+2)}@648-byte
  {Dd, D(d+1), D(d+2), D(d+3)}@64, @128, or @2568-byte, 16-byte, or 32-byte
28, 16, or 32{Dd, D(d+1)}@64, @1288-byte or 16-byte
  {Dd, D(d+2)}@64, @1288-byte or 16-byte
  {Dd, D(d+1), D(d+2), D(d+3)}@64, @128, or @2568-byte, 16-byte, or 32-byte
38, 16, or 32{Dd, D(d+1), D(d+2)}@648-byte
  {Dd, D(d+2), D(d+4)}@648-byte
48, 16, or 32{Dd, D(d+1), D(d+2), D(d+3)}@64, @128, or @2568-byte, 16-byte, or 32-byte
  {Dd, D(d+2), D(d+4), D(d+6)}@64, @128, or @2568-byte, 16-byte, or 32-byte

Related reference

a 

Every register in the list must be in the range D0-D31.

b 

align can be omitted. In this case, standard alignment rulesapply.

Was this page helpful? Yes No