Есть ли какой-нибудь переносимый способ сделать подсказки предсказания ветвления? Рассмотрим следующий пример:
if (unlikely_condition) {
/* ..A.. */
} else {
/* ..B.. */
}
Это чем-то отличается от выполнения:
if (!unlikely_condition) {
/* ..B.. */
} else {
/* ..A.. */
}
Или это единственный способ использовать специфические подсказки компилятора? (например, __builtin_expect в GCC)
Будут ли компиляторы обрабатывать условия if
по-разному в зависимости от порядка выполнения условий?