【NEON 和 VFP 编程】NEON 和 VFP 系统寄存器

以下三个 NEON 和 VFP 系统寄存器可在所有 NEON 和 VFP 执行中使用:

• FPSCR,浮点状态和控制寄存器

• FPEXC,浮点异常寄存器

•FPSID,浮点系统标识寄存器

• 修改 NEON 和 VFP 系统寄存器的个别位。

一、FPSCR,浮点状态和控制寄存器

FPSCR 包含所有用户级 NEON 和 VFP 状态位及控制位。 NEON 仅使用位 [31:27]。这些位的用法如下所示:

位 [31:28] 是 N、Z、C 和 V 标记。 这些是 NEON 和 VFP 状态标记。 它们只有在被复制到 CPSR 中的状态标记之后,才能用于控制有条件执行。

位 [27] 是 QC(累积饱和标记)。 如果在 NEON 或 VFP 饱和指令中进行饱和,则会设置此标记。

位 [24] 是清零模式控制位:

0 禁用清零模式。

1 启用清零模式。

根据所使用的硬件和软件,清零模式能以范围损失作为代价,提供更高的性能。

注意

无论此位如何,NEON 都始终使用清零模式。

当要求兼容 IEEE 754 时,不得使用清零模式。

位 [23:22] 按如下所示控制舍入模式:

0b00 向最接近的数舍入 (RN) 模式。

0b01 向正无穷大舍入 (RP) 模式。

0b10 向负无穷大舍入 (RM) 模式。

0b11 向零舍入 (RZ) 模式。

位 [21:20] STRIDE 是向量中连续值之间的距离。 跨距的控制方式如下:

0b00 STRIDE = 1

0b11 STRIDE = 2。

位 [18:16] LEN 是每个向量所使用的寄存器的数目。其值

猜你喜欢

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