0

我正在尝试使用 AVX 优化一些整数 (_int64) 操作。但是,我什至不能简单的添加操作。它一直告诉我非法指令。请问我可以纠正我做错了什么吗?谢谢

for (int i = 0; i < 1; i+=4)
{
    __m256i rA, rB, rC;
    __m256i *iu, *ju, *ku;

    iu =  (__m256i *)(MatrixAiB1 + i);
    ju =    (__m256i *)(MatrixAjB1+ i);
    ku = (__m256i *) (store+ i);

    rA=_mm256_load_si256(iu);
    rB=_mm256_load_si256(ju);
    rC=_mm256_add_epi16(rA,rB);
    _mm256_store_si256(ku,rC);

}
4

1 回答 1

5

您正在使用AVX 2指令集中的指令,该指令集尚未得到广泛支持。非法指令异常表明您在不支持这些指令的机器上运行代码。

这些指令今年首次在 Haswell 处理器中引入 - 因此“未广泛支持”目前意味着“不受任何公开可用的处理器支持”。

于 2013-04-29T17:42:55.700 回答