有一个对比:
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 处理器上运行。