有一个比较:
if( val0 > val1 )
其中val0和val1是双变量。
Apple LLVM编译器生成的代码是
+0x184 vcmpe.f64 d17, d16
+0x188 vmrs APSR_nzcv, fpscr <-- FP status transfer (30 cycles stall of ALU)
+0x18c ble.w .....
有没有办法避免这种转移?
[更新]代码在Cortex-A8处理器上运行。
答案 0 :(得分:0)
因为似乎不可能避免标志转换,因为代码流管理处理处理器的ARM部分,而不是Neon协处理器。 问题已经结束。