Если инструкция AVX2 действительно выполнена, она вызывает #UD
, поэтому ОС доставляет SIGILL (недопустимая инструкция) вашему процессу или эквиваленту Windows.
В некоторых случаях такая инструкция, как lzcnt
, декодируется как rep bsr
, которая выполняется как bsr
на процессорах без BMI1. (Дать другой ответ). Но инструкции AVX2 в VEX-кодировке просто неисправны на центральных процессорах.
Если программа никогда не запускает функцию, содержащую инструкцию AVX2, то, возможно, она будет работать с другими входами, или, возможно, она обнаруживает ЦП во время выполнения.