สำหรับสถาปัตยกรรม Intel มีวิธีใดที่จะสั่งให้คอมไพเลอร์ GCC สร้างโค้ดที่บังคับให้การทำนายสาขาเป็นวิธีเฉพาะในโค้ดของฉันเสมอ ฮาร์ดแวร์ของ Intel รองรับสิ่งนี้หรือไม่ แล้วคอมไพเลอร์หรือฮาร์ดแวร์อื่น ๆ ล่ะ?
ฉันจะใช้สิ่งนี้ในรหัส C ++ ซึ่งฉันรู้ว่ากรณีที่ฉันต้องการทำงานอย่างรวดเร็วและไม่สนใจเกี่ยวกับการชะลอตัวเมื่อสาขาอื่นต้องดำเนินการแม้ว่าสาขานั้นจะเพิ่งเข้ามาเมื่อไม่นานมานี้
for (;;) {
if (normal) { // How to tell compiler to always branch predict true value?
doSomethingNormal();
} else {
exceptionalCase();
}
}
ตามคำถามสำหรับ Evdzhan Mustafa คำใบ้สามารถระบุคำใบ้เป็นครั้งแรกที่โปรเซสเซอร์พบคำสั่งการทำนายสาขาที่ตามมาทั้งหมดทำงานได้ตามปกติหรือไม่