1.1.2 逻辑运算

SSE内置函数支持的逻辑运算及其数据类型如表1-2所示。不但支持与、或和异或,还支持移位,但是不直接支持非,这是个奇怪的地方(但可以通过andnot实现)。

表1-2 SSE逻辑指令

以si128为例,展示andnot操作的定义如下:


__m128i _mm_andnot_si128(__m128i a, __m128i b);
r = (~a) & b;

如果b的位模式为全1,那么andnot就实现了not运算。