Оптимизация только кода, критичного к производительности, и только тогда, когда вы действительно знаете, что он критичен к производительности. Не пытайтесь оптимизировать прыжки только потому, что вы читаете, что они снижают производительность. Все вызывает снижение производительности, и самый быстрый код - это код, который ничего не делает. Есть и другие вещи, которые намного хуже прыжков.
Если вы покажете конкретный пример перехода в сгенерированном коде, есть вероятность, что найдется способ избежать этого, но более вероятно, что код, который вы покажете, все равно будет содержать более серьезные проблемы.
Один из конкретных способов избежать ветвей - использовать инструкции «условного перемещения». Они могут быть использованы, например, рассчитать макс или мин. Если вы разрешите компилятору использовать архитектуру SSE, он предполагает, что ЦП также поддерживает инструкции CMOV / FCOMI / FCOMIP / FUCOMI / FUCOMIP и будет их использовать (будьте осторожны: иногда может быть сложно заставить компилятор делать то, что вы хотите, см., Например, это обсуждение gamedev.net ).