Для архитектуры Intel существует ли способ дать указание компилятору GCC генерировать код, который всегда форсирует предсказание ветвлений определенным образом в моем коде? Поддерживает ли это оборудование Intel? Как насчет других компиляторов или аппаратных средств?
Я бы использовал это в коде на С++, где я знаю случай, который я хочу запустить быстро, и не заботятся о замедлении, когда нужно использовать другую ветку, даже когда она недавно взяла эту ветвь.
for (;;) {
if (normal) { // How to tell compiler to always branch predict true value?
doSomethingNormal();
} else {
exceptionalCase();
}
}
Как следует по вопросу для Евджана Мустафы, может ли подсказка просто указать подсказку в первый раз, когда процессор встречает команду, все последующие предсказания ветвления, нормально функционирующие?