C++ 如何在使用了最多SSSE3的内部函数后,从16字节寄存器中存储4字节

C++ 如何在使用了最多SSSE3的内部函数后,从16字节寄存器中存储4字节,c++,sse,intrinsics,C++,Sse,Intrinsics,初步说明:实际上,当我写完时,我看到的问题是针对我的案例的。尽管如此,由于我已经花了时间创建了指向必要文档的所有链接,因此发布它可能还是有用的。此外,可能还有更好的答案 问题是: 在我的处理结束时,我将有一个\uu mm128i包含: r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 rA rB rC rD rE rF 我必须在内存中存储一个uint32\t,如下所示: r0 r4 r8 rC r0 r4 r8 rC 00 00 00 00 00 00 00 00 00 00 00

初步说明:实际上,当我写完时,我看到的问题是针对我的案例的。尽管如此,由于我已经花了时间创建了指向必要文档的所有链接,因此发布它可能还是有用的。此外,可能还有更好的答案

问题是:

在我的处理结束时,我将有一个
\uu mm128i
包含:

r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 rA rB rC rD rE rF
我必须在内存中存储一个
uint32\t
,如下所示:

r0 r4 r8 rC
r0 r4 r8 rC 00 00 00 00 00 00 00 00 00 00 00 00 
或者,或者(这取决于我如何执行前面计算的最后两个步骤)

如何使用最多SSSE3指令有效地执行此操作?

如前所述,使用最多SSSE3指令,您可以使用以下方式重新排列寄存器:

r0 r4 r8 rC
r0 r4 r8 rC 00 00 00 00 00 00 00 00 00 00 00 00 
然后,您不能使用,因为它是SSE4.1

您可以使用