__builtin_expect - как определить, работает ли это для моего процессора? - PullRequest
0 голосов
/ 05 февраля 2019

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

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

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

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

1 Ответ

0 голосов
/ 19 марта 2019

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

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

...