A instrução CMOV é uma instrução de movimento predicada (ou condicional). Ele combina uma ramificação e move a instrução em um opcode.
A instrução CMOV é útil na otimização do compilador porque ajuda a remover algumas das instruções de saltos condicionais do código. Isso é importante em processadores superescalares modernos, pois muitas instruções estão em execução e executadas em paralelo, e uma instrução de salto condicional dificultaria a previsão se o código deveria ou não ser executado até que a ramificação fosse resolvida.