作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人可以解释一下_mm_shuffle_epi8
SSSE3 内在?
我知道它在 __m128i
中混洗 16 个 8 位整数但不确定我如何使用它。
我基本上想用_mm_shuffle_epi8
修改下面的函数以获得更好的性能。
while(not done)
dest[i+0] = (src+j).a;
dest[i+1] = (src+j).b;
dest[i+2] = (src+j).c;
dest[i+3] = (src+j+1).a;
dest[i+4] = (src+j+1).b;
dest[i+5] = (src+j+1).c;
i+=6;
j+=2;
最佳答案
_mm_shuffle_epi8
(更好地称为 pshufb
),基本上是这样做的:
temp = dst;
for (int i = 0; i < 16; i++)
dst[i] = (src[i] & 0x80) == 0 ? temp[src[i] & 15] : 0;
关于performance - _mm_shuffle_epi8 内在函数的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12778620/
我是一名优秀的程序员,十分优秀!