【NEON 和 VFP 编程】NEON加载、存储元素和结构指令

本节包括以下小节:

• 交叉存取。

• 加载/存储元素和结构指令中的对齐限制。

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

此类指令几乎可用于所有数据访问。可加载标准向量 (n = 1)。

• VLDn(单个 n 元素结构到所有向量线)。

• VLDn 和 VSTn(多个 n 元素结构)。

一、交叉存取

此组中的许多指令在将结构存储到内存时提供交叉存取功能,并在从内存加载结构时提供反向交叉存取功能。下图显示了一个反向交叉存取示例。 交叉存取就是反向的过程。
在这里插入图片描述

二、加载/存储元素和结构指令中的对齐限制

其中许多指令允许指定内存对齐限制。 如果指令中未指定对齐,则由 A 位(CP15 寄存器 1 位 [1])控制对齐限制。

• 如果 A 位为 0,则没有对齐限制(但强序或设备内存除外,其访问必须对齐元素,否则会出现意外结果)。

• 如果 A 位为 1,则访问必须对齐元素。

如果地址未正确对齐,则会发生对齐故障。

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

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

语法

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

Vopn{

猜你喜欢

转载自blog.csdn.net/tyyj90/article/details/103155286