29.3.4. x86 CMOVcc instructions
-
userland/arch/x86_64/cmovcc.S: CMOVcc
mov if a condition is met:
CMOVcc a, b
Equals:
if(flag) a = b
where cc
are the same flags as Jcc.
Vs jmp:
Not necessarily faster because of branch prediction.
This is partly why the ternary ?
C operator exists: https://stackoverflow.com/questions/3565368/ternary-operator-vs-if-else
It is interesting to compare this with ARMv7 conditional execution: which is available for all instructions, as shown at: Section 30.2.5, “ARM conditional execution”.