假设我有这行代码,它使用 SSE2 加载 16 x 8 位无符号整数
// ptr is a pointer to uint8_t array
__m128i b = _mm_load_si128((const __m128i*) ptr);
我想将每个 8 位无符号整数b
(总共 16 个)拆分为 4 位高和 4 位低部分。我怎样才能做到这一点?
假设我有这行代码,它使用 SSE2 加载 16 x 8 位无符号整数
// ptr is a pointer to uint8_t array
__m128i b = _mm_load_si128((const __m128i*) ptr);
我想将每个 8 位无符号整数b
(总共 16 个)拆分为 4 位高和 4 位低部分。我怎样才能做到这一点?