【NEON 和 VFP 编程】条件代码

34 篇文章 62 订阅 ¥9.90 ¥99.00
这篇博客探讨了在ARM状态下如何使用条件代码控制VFP指令执行,并指出NEON指令在特定情况下不支持条件执行。在Thumb-2处理器上,IT指令可以为随后的NEON或VFP指令设置条件代码。FCMP指令用于更新状态标记,但要将这些标记用于条件指令,需先通过VMSR指令复制到APSR。由于浮点数值的特性,FCMP后的条件含义与ARM数据处理指令有所不同。
摘要由CSDN通过智能技术生成

在 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) 值彼此之间或者与数字之间没有排序关系,因此需要附加条件来针对无序的结果。

条件代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TYYJ-洪伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值