_mm_test_mix_ones_zeros
Classification
SSE_ALL, Logical, CPUID Test: SSE4.1
Header File
Instruction
PTEST xmm, xmm
Synopsis
_mm_test_mix_ones_zeros(__m128i mask, __m128i a);
Description
Compute the bitwise AND of 128 bits (representing integer data) in "a" and "mask", and set "ZF" to 1 if the result is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "mask", and set "CF" to 1 if the result is zero, otherwise set "CF" to 0. Return 1 if both the "ZF" and "CF" values are zero, otherwise return 0.
Operation
IF ((a[127:0] AND mask[127:0]) == 0)
ZF := 1
ELSE
ZF := 0
FI
IF (((NOT a[127:0]) AND mask[127:0]) == 0)
CF := 1
ELSE
CF := 0
FI
IF (ZF == 0 && CF == 0)
dst := 1
ELSE
dst := 0
FI