小编bor*_*n49的帖子

在SSE __m128i寄存器中置换字节

我有以下问题:

__m128i寄存器中,按以下顺序排列有16个8位值:

[ 1, 5, 9, 13 ] [ 2, 6, 10, 14] [3, 7, 11, 15]  [4, 8, 12, 16]
Run Code Online (Sandbox Code Playgroud)

我想要实现的是有效地改组字节以获得这种排序:

[ 1, 2, 3, 4 ] [ 5, 6, 7, 8] [9, 10, 11, 12]  [13, 14, 15, 16]
Run Code Online (Sandbox Code Playgroud)

它实际上类似于4x4矩阵转置,但在一个寄存器内的8位元件上运行.

您能不能指出哪种SSE(优先<= SSE2)指令适合实现这一点?

optimization sse simd

8
推荐指数
1
解决办法
1091
查看次数

标签 统计

optimization ×1

simd ×1

sse ×1