SSE指导健全检查

时间:2011-11-07 17:52:03

标签: c++ sse

下面的代码让我感到有些困惑:


function(__m128 foo)
{
  __m128 bar = _mm_shuffle_ps(foo, foo, _MM_SHUFFLE(2,2,2,2))
}

它只是取了foo的第二个字并将它粘贴到bar中4次还是做了其他的事情?

1 个答案:

答案 0 :(得分:2)

我不知道_mm_shuffle是否存在。给定_mm_shuffle_ps个参数,它应该是__m128

在这种情况下,它完全符合您的想法。它复制第3个(不是第2个,计数从0开始,从右边开始,所以它确实是从左边开始的第2个)32位字foobar的所有4个32位字。它还应该做什么?