3 ms·
> Have decent speedups been gotten by previous CPUs by the addition of conditional moves? This is not a direct answer to your question, but: I recently had to
by gergo_barany 6y ago
> Have decent speedups been gotten by previous CPUs by the addition of conditional moves?
This is not a direct answer to your question, but: I recently had to tune the conditional move generation heuristics in the GraalVM Enterprise Edition compiler. My experience has been that you can absolutely get decent speedups of 10-20% or more with a few well-placed conditional moves. The cases where this matters are rare, but they do occur in some real-world software, where sticking a conditional move in some very hot place will have such an impact on the entire application. Conversely, you can get slowdowns of the same magnitude with badly placed conditional moves.
It's a difficult trade-off, since most branches are fairly predictable, and good branch prediction and speculative execution can very often beat a conditional move.