是否有任何优雅的方式来加载16个8位数据并将它们连接到4个unsigned int?如何加载16个8位数据并将它们连接到4个unsigned int?
喜欢如下:
负载以下阵列(16 epi8)由_mm_load_si128()到__m128i
0x00时,0×11,为0x22,0x33,0x44进行,0x55的,0x66,0x77,均为0x88,0x99,和0xAA,为0xBB,的0xCC,0xdd,0xee,0xff的
,然后做一些操作,使得寄存器(__ m128i)变为4 epi32,
0x33221100,0x77665544,0xbbaa8899,0xffeeddcc
谢谢!
如何内存中的数据布局? – 2012-02-22 16:32:16
同时出现的问题似乎暗示这16个字节不是按顺序打包的,而是它们。这是什么? – harold 2012-02-22 16:33:40
这是我如何解释你的问题:你有这些字节存储在内存中,第一个字节为0x00,第二个字节为0x11,依此类推。你现在希望它们存储为32位小端数字(原始配置将是大端)。只需交换位置0和3,位置1和2,位置4和7,位置5和6,等等。你需要一个例子列表? – 2012-02-22 16:40:26