This moveConditionally... functions actually implement csel semantics instead of cmov. While the "moveConditionally" name can mean select, it is easily confused to mean cmov. Consider renaming them to variants of "select" or something less ambiguous.