Преобразовать внутренний регистр xmm в массив uint8_t [16] - PullRequest
1 голос
/ 05 октября 2011

Как я могу эффективно вывести xmm регистр в массив uint8_t [16]?

Ответы [ 2 ]

5 голосов
/ 05 октября 2011

_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 );
3 голосов
/ 05 октября 2011

как насчет memcpy()?Док здесь .

__m128d var;
uint8_t array[16];

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