Мне нужно преобразовать некоторый код в ISA для Intel i7-8705G, но я не знаю, какую версию ISA для x86-64 он использует.
x86-64У ISA нет версий.Это набор инструкций из 8086 с большим количеством необязательных расширений, где (по крайней мере, в теории) каждое из этих расширений может присутствовать / отсутствовать на любом (существующем или будущем) ЦП 80x86, и где указано большинство расширенийкак присутствует / не представлен набором из около 100 флагов, возвращаемых инструкцией CPUID
.
Чтобы понять все возможности, GCC (его опции -mtune
и -march
) имеют предопределенный «CPU»имена "на основе названия Intel дает микро-архитектуры.Для Intel i7-8705G микроархитектура была «Kaby Lake».Самая новая версия GCC не имеет заранее определенного имени для Kaby Lake;однако Kaby Lake была оптимизацией предыдущей микроархитектуры, которую Intel назвала Skylake, и GCC имеет предопределенное имя «skylake», так что это будет наилучший возможный вариант (например, -march=skylake
).
Примечание: я не смог найти выпадающий список архитектур на Godbolt, поэтому мне интересно, если вы запутались и думали о чем-то другом (список компиляторов, где у каждого компилятора есть несколько версий).