__builtin_expect - как определить, влияет ли это на мой процессор?
Я понимаю, что это делает:
Встроенная функция: long __builtin_expect (long exp, long c)
но я не знаю, как определить, действительно ли это влияет на мой процессор.
Будет ли это отображаться в сборке?
0 ответов
Эффект __builtin_expect
не зависит от целевого процессора. Вместо этого он информирует компилятор о наиболее вероятном результате ветвления, который позволяет ему генерировать лучший код (например, путем умозрительного выполнения операций перед инструкциями ветвления или планирования в пользу ожидаемого пути).
Подвести итоги, __builtin_expect
всегда имеет эффект, независимо от целевой архитектуры, и вы должны увидеть его в сгенерированном коде asm.