This question already has answers here:
Most efficient way to check if all __m128i components are 0 [using <= SSE4.1 intrinsics]
                                
                                    (2个答案)
                                
                        
                                4年前关闭。
            
                    
假设我有一个128位整数向量:

__m128i x;


那么如何知道x中的所有位是否都为零?

检查每个压缩整数是一种简单的方法。

但是我正在寻找一种更快的方法。

SSE中有任何指令可以完成这项工作吗?

最佳答案

如果是SSE 4.1,则可以使用_mm_testz_si128,例如

_mm_testz_si128(idata, _mm_set1_epi32(0x0000))


可能还会研究Check XMM register for all zeroes以获取与SSE2兼容的解决方案。

关于c++ - SSE中等于零的指令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27942641/

10-13 07:03