我想了解armv8 NEON内联汇编代码中的if条件。
在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, FPSCR
VMRS FPSCR, r4
by:
MRS w4, FPSR
MSR FPSR, w4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)