__builtin_expect - как определить, влияет ли это на мой процессор?

Я понимаю, что это делает:

Встроенная функция: long __builtin_expect (long exp, long c)

но я не знаю, как определить, действительно ли это влияет на мой процессор.

Будет ли это отображаться в сборке?

0 ответов

Эффект __builtin_expect не зависит от целевого процессора. Вместо этого он информирует компилятор о наиболее вероятном результате ветвления, который позволяет ему генерировать лучший код (например, путем умозрительного выполнения операций перед инструкциями ветвления или планирования в пользу ожидаемого пути).

Подвести итоги, __builtin_expect всегда имеет эффект, независимо от целевой архитектуры, и вы должны увидеть его в сгенерированном коде asm.

Другие вопросы по тегам