Система утверждает, что 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
например, должно работать.