小编Tra*_*vis的帖子

使用SSE索引到数组

假设我有一个数组:

uint8_t arr[256];
Run Code Online (Sandbox Code Playgroud)

和一个元素

__m128i x
Run Code Online (Sandbox Code Playgroud)

包含16个字节,

x_1, x_2, ... x_16
Run Code Online (Sandbox Code Playgroud)

我想有效地填补一个新__m128i元素

__m128i y
Run Code Online (Sandbox Code Playgroud)

使用arr取决于值的值x,以便:

y_1  = arr[x_1]
y_2  = arr[x_2]
   .
   .
   .
y_16 = arr[x_16]
Run Code Online (Sandbox Code Playgroud)

实现此目的的命令实质上是从非连续的一组存储器位置加载寄存器.我有一种痛苦的模糊记忆,看过这样一个命令的文档,但现在找不到它.它存在吗?在此先感谢您的帮助.

c sse simd

12
推荐指数
1
解决办法
2161
查看次数

标签 统计

c ×1

simd ×1

sse ×1