Система утверждает, что AVX2 поддерживается, но передача целочисленных регистров не реализована

cat /proc/cpuinfo сообщает, что установлен флаг avx2.

Однако инструкция AVX2 vpbroadcastb вызывает недопустимое исключение инструкции при запуске.

Я использую x86_64 Linux и nasm в качестве моего ассемблера. В моей системе воспроизвести это так же просто, как

global main
main:
vpbroadcastb xmm1, eax

используя NASM.

Кто-нибудь знает что-нибудь об этом? Это APU AMD A12-9700P RADEON R7, который я использую.

1 ответ

Решение

vpbroadcastbс регистром общего назначения в качестве операнда требуется AVX512. Он собирается (с достаточно новым ассемблером), но вы получаетенедопустимый сигнал инструкции на процессорах только с AVX2.

Если ваш процессор поддерживает AVX2,

vpbroadcastb xmm1, xmm0

например, должно работать.

Другие вопросы по тегам