Должен ли я найти справочник по наборам команд Intel и AMD x86 для значений битов CPUID?
Это вызывает у меня подозрения (из Wikipedia ):
ABM реализован только как один набор инструкций AMD; все процессоры AMD поддерживают обе инструкции или ни одной. Intel рассматривает POPCNT как часть SSE4.2, а LZCNT - как часть BMI1. POPCNT имеет отдельный флаг CPUID; однако Intel использует флаг AMD ABM для обозначения поддержки LZCNT (поскольку LZCNT завершает ABM)
Вопрос только в значении CPUID
.
Я думаю, что сами инструкции либо реализованы, либо нет, но коды операций не имеют различного значения, поэтому для самих инструкций я думаю, что одной ссылки достаточно. Что касается ожиданий в производительности, убедитесь, что именно семейство процессоров имеет значение, а не только поставщик.