本文主要是介绍【NEON 和 VFP 编程】条件代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在 ARM 状态下,可以使用条件代码来控制 VFP 指令的执行。 此类指令是根据 APSR 中的状态标记有条件执行的,执行方式与几乎所有其他 ARM 指令完全相同。
在 ARM 状态下,除 VFP 和 NEON 公用的指令之外,不能使用条件代码来控制 NEON 指令的执行。
在 Thumb-2 处理器上的 Thumb® 状态下,使用一个 IT 指令最多可在随后的四个 NEON 或 VFP 指令上设置条件代码。
FCMP 是可用于更新状态标记的唯一 VFP 指令。 它不是直接更新 APSR 中的标记,而是更新 FPSCR 中的一个单独的标记集(FPSCR,浮点状态和控制寄存器)。
若要使用这些标记来控制条件指令(包括条件 VFP 指令),必须先使用 VMSR 指令将其复制到 APSR。
对于这些标记来说,在 FCMP 指令后的准确含义与其在 ARM 数据处理指令后的含义是不同的。这是因为:
• 浮点值总是有符号的,因此不需要无符号的条件;
• 非数字 (NaN) 值彼此之间或者与数字之间没有排序关系,因此需要附加条件来针对无序的结果。
这篇关于【NEON 和 VFP 编程】条件代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!