将Intrinsic xmm寄存器转换为uint8_t数组[16]

时间:2011-10-05 10:56:10

标签: c type-conversion intrinsics

如何有效地将xmm寄存器转储到uint8_t数组[16]?

2 个答案:

答案 0 :(得分:5)

_mm_store_si128将sse2寄存器内容存储到指定的内存中。 _mm_store_ps和_mm_store_pd是用于浮点或双寄存器内容的变体。目的地未对齐时,您必须使用storeu。

__m128i var;
__declspec( align(16) ) uint8_t array[16];

_mm_store_si128( (__m128i*) array, var );

答案 1 :(得分:3)

memcpy()怎么样?文件here

__m128d var;
uint8_t array[16];

memcpy(array, &var, sizeof(array));