0
我有一個C程序,其中有幾個無符號整數數組。我正在使用此聲明uint32_t
。如何將無符號整數加載到SIMD中
我想使用SIMD對存儲在每個數組中的數據執行一些操作。這是我卡住的地方,因爲它看起來像大多數SSE和SSE2函數只支持float和double。
加載uint32_t
類型數據的最佳方式是什麼?
我有一個C程序,其中有幾個無符號整數數組。我正在使用此聲明uint32_t
。如何將無符號整數加載到SIMD中
我想使用SIMD對存儲在每個數組中的數據執行一些操作。這是我卡住的地方,因爲它看起來像大多數SSE和SSE2函數只支持float和double。
加載uint32_t
類型數據的最佳方式是什麼?
對於任何整數SSE類型您通常使用_mm_load_si128
/_mm_loadu_si128
:
uint32_t a[N];
__m128i v = _mm_loadu_si128((__m128i *)a);
'MOVDQA/MOVDQU'是SSE2。所以'PADD [B/W/D/Q]',和*許多其他矢量指令。你爲什麼認爲SSE2只適用於'float/double'? – EOF