|
|
|
|
|
by gpderetta
3476 days ago
|
|
It does, but it may run out of non-dependent instructions to execute while waiting for the long pole of the cmov dependency chain to finish. This used to be a problem on Pentium4 where cmov had high latency (4 cycles or more), but today, IIRC, a register-to-register cmov is only one cycle, so it is safe to use whenever a branch could have a non-trivial misprediction rate. |
|
If you decrement your array index you don't even need the cmp instruction. The compiler could probably gen so good code.