SSE 中的等零指令
Equal zero instruction in SSE
假设我有一个 128 位整数向量:
__m128i x;
那怎么知道x中的所有位是否都是0呢?
检查每个压缩整数是一种简单的方法。
但我正在寻找一种更快的方法。
SSE有没有指令可以做这个工作?
如果是SSE 4.1,可以使用_mm_testz_si128
,例如
_mm_testz_si128(idata, _mm_set1_epi32(0x0000))
可能还要查看 Check XMM register for all zeroes 以获取 SSE2 兼容解决方案。
假设我有一个 128 位整数向量:
__m128i x;
那怎么知道x中的所有位是否都是0呢?
检查每个压缩整数是一种简单的方法。
但我正在寻找一种更快的方法。
SSE有没有指令可以做这个工作?
如果是SSE 4.1,可以使用_mm_testz_si128
,例如
_mm_testz_si128(idata, _mm_set1_epi32(0x0000))
可能还要查看 Check XMM register for all zeroes 以获取 SSE2 兼容解决方案。