下面的代码让我感到有些困惑:
function(__m128 foo)
{
__m128 bar = _mm_shuffle_ps(foo, foo, _MM_SHUFFLE(2,2,2,2))
}
它只是取了foo的第二个字并将它粘贴到bar中4次还是做了其他的事情?
答案 0 :(得分:2)
我不知道_mm_shuffle
是否存在。给定_mm_shuffle_ps
个参数,它应该是__m128
。
在这种情况下,它完全符合您的想法。它复制第3个(不是第2个,计数从0开始,从右边开始,所以它确实是从左边开始的第2个)32位字foo
到bar
的所有4个32位字。它还应该做什么?