Visible to Intel only — GUID: GUID-D27B6DC2-AB8C-4F78-B29D-76E50AD190D1
Visible to Intel only — GUID: GUID-D27B6DC2-AB8C-4F78-B29D-76E50AD190D1
_mm256_testz_ps, _mm_testz_ps
Performs a packed bit test of two float32 256-bit or 128-bit vectors to set the ZF flag. The corresponding Intel® AVX instruction is VTESTPS.
Syntax
extern int _mm256_testz_ps(__m256 s1, __m256 s2); |
extern int _mm_testz_ps(__m128 s1, __m128 s2); |
Arguments
s1 |
first source float32 vector |
s2 |
second source float32 vector |
Description
Compute the bitwise AND of the two vectors s1 and s2, representing single-precision (32-bit) floating-point elements, producing an intermediate value, and set ZF to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set ZF to 0. Compute the bitwise AND NOT of s1 and s2, producing an intermediate value, and set CF to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set CF to 0. Return the ZF value.
Intel® Advanced Vector Extensions (Intel® AVX) instructions include a full compliment of 128-bit SIMD instructions. Such Intel® AVX instructions, with vector length of 128-bits, zeroes the upper 128 bits of the YMM register. The lower 128 bits of the YMM register is aliased to the corresponding SIMD XMM register.
Returns
Non-zero if ZF flag is set
Zero if the ZF flag is not set