Какой набор инструкций использует Intel i7-8705G? - PullRequest
0 голосов
/ 11 июля 2019

Мне нужно преобразовать некоторый код в ISA для Intel i7-8705G, но я не знаю, какую версию ISA для x86-64 он использует.

Я хочу использовать godbolt здесь и выбрать ISA из выпадающего списка, но есть несколько версий x86-64.Какой из них подходит для моего процессора?

Я был удивлен, увидев несколько версий.На веб-сайте Intel он просто указан как 64-битный. здесь

1 Ответ

3 голосов
/ 11 июля 2019

Мне нужно преобразовать некоторый код в 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, поэтому мне интересно, если вы запутались и думали о чем-то другом (список компиляторов, где у каждого компилятора есть несколько версий).

...