В общем кроме непосредственно бранчей с jX есть такая штука как cmovX, например.
Она меняет control dependency на data dependency и в отличие от бранчей абсолютно стабильна на рандоме, но может заставить больше вычислять наперед и иметь больше инструкций.
Что именно подсунет компилятор зависит от компилятора, например в джаве Math.max компилируется именно в cmovl без бранчей.
С учетом того что в дотнете теперь tiered compilation, без ассемблерного листинга того, что выплюнул компилятор второго уровня, всё это бессмысленно.