使用 SSE 将 8 位整数除以 4(或移位)
Divide 8-bit integers by 4 (or shift) using SSE
如何使用
SSE 内部函数将 16 个 8 位整数除以 4(或将它们向右移动 2)?
不幸的是,
没有针对 8 位元素的 SSE 移位指令。如果元素是 8 位无符号的,那么您可以使用 16 位移位并屏蔽不需要的高位,例如
v = _mm_srli_epi16(v, 2);
v = _mm_and_si128(v, _mm_set1_epi8(0x3f));
对于 8 位有符号元素,它有点繁琐,但仍然有可能,尽管解压缩到 16 位、进行移位然后打包回 8 位可能更容易。
相关文章:
- 如何反转整数参数包
- enum是C++中的宏变量还是整数变量
- 努力将整数转换为链表。不知道我在这里做错了什么
- 整数不会重复超过随机数
- 在C++中手动调整数组大小
- 检查输入是否不是整数或数字
- C++使用整数的压缩数组初始化对象
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 将"打开的CV图像"中的"颜色"转换为整数格式
- 通过套接字[TCP]传输数据 如何在C / C ++中打包多个整数并使用send() recv()传输数据
- 如何只允许用户输入正整数
- 如何在c++中从文本文件中逐行读取整数
- SSE 整数 2^n 的 2 次方,对于没有 AVX2 的 32 位整数
- 使用 SSE 将 8 位整数除以 4(或移位)
- 使用 SSE 内部函数存储四个 16 位整数
- AVX/SSE 回合向下浮动并返回整数向量
- 用sse累加整数向量
- SSE整数除法
- Ivy Bridge上使用SSE/AVX的最大SIMD整数乘法
- 在c++中对整数数组进行线性搜索时,SSE比较不能按预期工作