2

cat /proc/cpuinfo报告设置了 avx2 标志。

但是,AVX2 指令 vpbroadcastb 在运行时会导致非法指令异常。

我使用 x86_64 Linux 和 nasm 作为我的汇编程序。在我的系统上,复制它就像

global main
main:
vpbroadcastb xmm1, eax

使用 NASM。

有人知道这是什么一回事吗?这是我正在使用的 AMD A12-9700P RADEON R7 APU。

4

1 回答 1

8

vpbroadcastb使用通用寄存器作为操作数需要 AVX512。它进行汇编(使用足够新的汇编程序),但是在仅使用 AVX2 的 CPU 上会收到非法指令信号。

如果您的 CPU 支持 AVX2,

vpbroadcastb xmm1, xmm0

例如,应该工作。

于 2018-04-23T19:26:19.260 回答