_mm256_testnzc_si256

Performs a packed bit test of two integer vectors to set ZF and CF flags. The corresponding Intel® AVX instruction is VPTEST.

Syntax

extern int __cdecl _mm256_testnzc_si256(__m256i s1, __m256i s2);

Arguments

s1

first source integer vector

s2

second source integer vector

Description

Allows setting of both the ZF and CF flags. The ZF flag is set based on the result of a bitwise AND operation between the first and second source vectors. The CF flag is set based on the result of a bitwise AND and logical NOT operation between the first and second source vectors. The corresponding instruction, VPTEST, sets the ZF and CF flags if all the resulting bits are 0. If the resulting bits are non-zeros, the instruction clears the ZF and CF flags.

Returns

Non-zero if both ZF and CF flag are set

Zero if both the ZF and CF flags are not set