【发布时间】:2011-05-27 21:32:11
【问题描述】:
假设我有一个数组:
uint8_t arr[256];
和一个元素
__m128i x
包含 16 个字节,
x_1, x_2, ... x_16
我想有效地填充一个新的__m128i 元素
__m128i y
来自arr 的值取决于x 中的值,例如:
y_1 = arr[x_1]
y_2 = arr[x_2]
.
.
.
y_16 = arr[x_16]
实现这一点的命令本质上是从一组不连续的内存位置加载一个寄存器。我对看过这样一个命令的文档有一种痛苦的模糊记忆,但现在找不到了。它存在吗?提前感谢您的帮助。
【问题讨论】:
-
修复了代码格式;以后,请记住,如果要将文本块格式化为代码,则必须缩进 4 个空格并在其前面留一个空行(或者只需选择它并按
0101按钮)。 -
@Matteo:不再是
101010。改为{ }... -
@thkala:呃,我没注意到,一般来说我只是从编辑器中执行 CTRL-K 或复制粘贴,我可以在其中添加 4 个空格按 TAB(我可以从语法中受益突出显示)。