6

关于 SO 的另一个问题中,我们尝试(并成功)找到了一种替换 AVX 缺失指令的方法:

 __m256d _mm256_dp_pd(__m256d m1, __m256d m2, const int mask);

任何人都知道这条指令丢失的原因吗?部分答案在这里

4

1 回答 1

13

这个和其他各种 AVX 限制的根本原因是架构上 AVX 只是并排的两个 SSE 执行单元 - 您会注意到几乎没有 AVX 指令在向量的两个 128 位半之间的边界上水平运行(这在 ) 的情况下特别烦人vpalignr。通常,您实际上只需并行执行两个 128 位 SSE 操作,这对于大多数仅以元素方式操作的指令很有用,但不如正确的 256 位 SIMD 实现有用。

于 2013-04-16T10:35:46.130 回答