5.12.3. VLDn 和 VSTn(单个 n 元素结构到一条向量线)

向量加载单个 n 元素结构到一条向量线。 它将一个 n 元素结构从内存加载到一个或多个 NEON 寄存器。 未加载的寄存器元素将保持不变。

向量存储单个 n 元素结构到一条向量线。 它将一个 n 元素结构从一个或多个 NEON 寄存器存储到内存中。

语法

Vopn{cond}.datatype list, [Rn{@align}]{!}
Vopn{cond}.datatype list, [Rn{@align}], Rm

其中:

op

必须为 LDST

n

必须为 1、2、3 或 4 之一。

cond

是一个可选的条件代码(请参阅条件代码)。

datatype

请参阅Table 5.12

list

指定 NEON 寄存器列表。 有关选项,请参阅Table 5.12

Rn

是包含基址的 ARM 寄存器。 Rn 不能为 r15。

align

指定可选对齐。 有关选项,请参阅Table 5.12

!

如果有 ! 存在,则将 Rn 更新为(Rn + 指令传送的字节数)。 在完成所有加载或存储后,执行该更新。

Rm

是一个包含基址偏移量的 ARM 寄存器。 如果 Rm 存在,则在使用该地址访问内存之后,会将 Rn 更新为 (Rn + Rm)。 Rm 不能为 r13 或 r15。

Table 5.12. 允许的参数组合

ndatatypelist [1]align [2]alignment
18{Dd[x]}-仅限标准对齐规则
 16{Dd[x]}@162 字节
 32{Dd[x]}@324 字节
28{Dd[x], D(d+1)[x]}@162 字节
 16{Dd[x], D(d+1)[x]}@324 字节
  {Dd[x], D(d+2)[x]}@324 字节
 32{Dd[x], D(d+1)[x]}@648 字节
  {Dd[x], D(d+2)[x]}@648 字节
38{Dd[x], D(d+1)[x], D(d+2)[x]}-仅限标准对齐规则
 1632{Dd[x], D(d+1)[x], D(d+2)[x]}-仅限标准对齐规则
  {Dd[x], D(d+2)[x], D(d+4)[x]}-仅限标准对齐规则
48{Dd[x], D(d+1)[x], D(d+2)[x], D(d+3)[x]}@324 字节
 16{Dd[x], D(d+1)[x], D(d+2)[x], D(d+3)[x]}@648 字节
  {Dd[x], D(d+2)[x], D(d+4)[x], D(d+6)[x]}@648 字节
 32{Dd[x], D(d+1)[x], D(d+2)[x], D(d+3)[x]}@64@1288 字节或 16 字节
  {Dd[x], D(d+2)[x], D(d+4)[x], D(d+6)[x]}@64@1288 字节或 16 字节

[1] list 中的每个寄存器都必须位于范围 D0 到 D31 内。

[2] Align 可省略。 在这种情况下,将应用标准对齐规则,详情请参阅加载和存储元素和结构指令中的对齐限制


Copyright © 2002-2008 ARM Limited. All rights reserved.ARM DUI 0204IC
Non-Confidential