__builtin_expect-如何确定这是否对我的处理器有作用?

时间:2019-02-05 18:34:23

标签: gcc arm cortex-m branch-prediction

我了解这是做什么的

Built-in Function: long __builtin_expect (long exp, long c)

但是我不知道如何确定这是否真的对我的处理器有影响。

这会在程序集中显示吗?

1 个答案:

答案 0 :(得分:1)

__builtin_expect的效果不取决于目标处理器。取而代之的是,它通知编译器最可能的分支结果,从而使其能够生成更好的代码(例如,通过在分支之前进行推测性执行操作或调度指令以偏向预期路径)。

总而言之,__builtin_expect始终有效,无论目标体系结构如何,您都应该能够在生成的asm代码中看到它。