Я хотел бы знать, как писать эффективные таблицы перехода для процессоров x64, либо в C, C++, либо в сборку. Ввод известен заранее, но невозможно предсказать алгоритмически. Предполагая, что я могу смотреть так далеко вперед, как хочу во входном потоке, есть ли способ, который я могу динамически сказать процессору, который адресует следующую ветку, будет идти?Как я могу динамически намекнуть цель ветвления на процессор x64?
По существу, я хотел бы программно обновить буфера целевого буфера. Но я бы согласился на все, что позволило мне избежать промывки конвейера в тех случаях, когда я, программист, заранее знаю, куда идет следующая ветка, глядя на данные, но процессор не может определить это из прошлых моделей.
Понимая, что это очень конкретный вопрос, и что я, вероятно, не смогли передать это правильно, вот несколько альтернативных формулировок:
Есть ли x64 эквивалентно hbr
Hint для отделения на процессоре Cell ?
Помогает ли сборка cmp
раньше, чем ее условная ветвь, как у Itanium?
Является ли предсказанная цель косвенного прыжка когда-либо на основе значения регистра вместо последнего используемого адреса?
Спасибо!