下面的代码让我有点困惑:
function(__m128 foo)
{
__m128 bar = _mm_shuffle_ps(foo, foo, _MM_SHUFFLE(2,2,2,2))
}
它只是将 foo 的第 2 个单词粘贴到 bar 中 4 次,还是还做其他事情?
最佳答案
我不知道 _mm_shuffle
是否存在。鉴于 __m128
参数,它应该是 _mm_shuffle_ps
。
在这种情况下,它完全符合您的想法。它将 foo
的第 3 个(不是第 2 个,从 0 开始计数,所以它确实是从左边数第 2 个)32 位字复制到 的所有 4 个 32 位字中>栏
。它还应该做什么?
关于c++ - SSE 指令健全性检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8040485/