如何将未签名的int加载到SIMD中
我有一个C程序,我有一些无符号整数数组。 我正在使用这个声明uint32_t
。
我想使用SIMD对存储在每个arrays中的数据执行一些操作。 这是我被卡住的地方,因为看起来大多数SSE和SSE2函数只支持float和double。
加载uint32_t
类型数据的最佳方法是什么?
对于任何整数SSE类型,通常使用_mm_load_si128
/ _mm_loadu_si128
:
uint32_t a[N]; __m128i v = _mm_loadu_si128((__m128i *)a);