使用GCC 自訂分支預測
問題: 是否可以指示GCC 強制以指定方向進行分支預測結果Intel 架構?
答案:
是的,GCC 提供 __builtin_expect 函數來指導其程式碼產生以進行分支預測。此函數有兩個參數:exp(條件表達式)和 c(預期結果)。
要指示GCC 一致地將某個分支路徑預測為true,請使用以下語法:
<code class="c">if (__builtin_expect(exp, 1))</code>
例如,在提供的程式碼片段中,您可以新增:
<code class="c">if (__builtin_expect(normal, 1))</code>
此外,為了簡化語法,您可以定義自訂巨集:
<code class="c">#define likely(x) __builtin_expect (!!(x), 1) #define unlikely(x) __builtin_expect (!!(x), 0)</code>
注意事項:
以上是GCC 能否在英特爾架構上強制執行分支預測結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!