ARMv8 下的汇编指令
ARMv8 推出了新的 A64 指令集,A64 中也包含 SIMD 向量运算指令,执行在 AArch64 模式下。
ARM 的高级 SIMD 架构通常又称为 Neon 技术。
寄存器
32 个 SIMD&FP 寄存器,V0 - V31, 每个寄存器可以以如下格式引用
- Q0 - Q31, 128 bits 寄存器
- D0 - D31, 64 bits 寄存器
- S0 - S31z, 32 bits 寄存器
- H0 - H31, 16 bits 寄存器
- B0 - B31, 8 bits 寄存器
组织结构如下

向量格式
SIMD&FP 寄存器可以加载,读取并处理以下三种格式的数据
- 在寄存器低位,单个的标量元素
- 64 bits 长度的向量,包含半字,字,双字长度的元素
- 128 bits 长度的向量,包含半字,字,双字长度的元素
元素大小
| B | H | S | D |
|---|---|---|---|
| 8 bits | 16 bits | 32 bits | 64 bits |
- 对于 128 bits 寄存器
Vn.{2D, 4S, 8H, 16B}
- 对于 64 bits 寄存器
Vn.{1D, 2S, 4H, 8B}