我想了解armv8 NEON内联汇编代码中的条件。
在armv7中,可以通过如下检查溢出位来实现:
VMRS r4, FPSCR
BIC r4, r4, #(1<<27)
VMSR FPSCR, r4
vtst.16 d30, d30, d30
vqadd.u16 d30, d30, d30
vmrs r4, FPSCR
tst r4, #(1<<27)
bne label1
但我无法在armv8等效代码中实现这一点。似乎SQADD不会影响FPSR中的溢出位,或者我无法像这样检查它。有可能还是有更好的方法来跳过大部分代码?
谢谢
最佳答案
Aarch64中提供了相同的信息。您只需要替换:VMSR r4, FPSCRVMRS FPSCR, r4
经过:MRS w4, FPSRMSR FPSR, w4
关于if-statement - armv8 NEON如果条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38145583/