3

比較があります:

if( val0 > val1 )

ここで、val0 と val1 は double 変数です。

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 プロセッサで実行されています。

4

1 に答える 1

0

コードフロー管理では、Neonコプロセッサではなく、プロセッサのARM部分を処理するため、フラグの遷移を回避することは不可能のようです。質問は終了しました。

于 2012-01-04T10:46:57.230 に答える