https://en.wikipedia.org/wiki/X86-64
https://sourceware.org/binutils/docs/as/i386_002dISA.html
Ужасно бесит что буквально за пять минут можно встретить в разном софте
разные названия 64-бит x86 архитектуры. Лично для меня amd64 это то что
я пишу и в BSD встречаю. x86_64 это так в GNU/Linux мире принято (просто
создаётся впечатление). А x64... это нечто яростно выбешивающее меня.
Intel64 не встречал прежде, до чтения статьи на Wikipedia.
Оказывается... AMD64 и Intel64 вполне себе разные ISA! Судя по
Wikipedia, всякие штуки типа: не отличающегося на практике (хотя это и
undefined behaviour) значения, формата микрокода, ограничения вне 32-бит
режима -- выглядят как не существенными на практике для пользователя. Но
другие отличия вроде бы выглядят кардинально и серьёзно. Что же получается?
Что на самом деле нет одного amd64 (пускай и с расширениями, типа AVX)?
Есть действительно разные наборы команд и поведения для AMD и Intel
процессоров? Почему же я не встречаю intel64, а только amd64? Или
программистам приходится жутко страдать и делать CPU detection и
удовлетворять оба этих процессора? Или это как-раз то самое: мы работаем
на AMD64, но поддерживаем чётко-заданный-список-CPU? Звучит всё страшно
пугающе несовместимо.
А ещё, бывает, находятся особо умные, кто пишет "IA64", где-то, видимо,
предварительно увидев "IA32". Вот только IA64 это Itanium и совершенно
другая и несовместимая штука.