Visible to Intel only — GUID: GUID-6FC63979-E73F-464F-9AA4-7732F5B242D0
Visible to Intel only — GUID: GUID-6FC63979-E73F-464F-9AA4-7732F5B242D0
Intrinsics for Vector Mask Operations
The prototypes for Intel® Advanced Vector Extensions 512 (Intel® AVX-512) intrinsics are located in the zmmintrin.h header file.
To use these intrinsics, include the immintrin.h file as follows:
#include <immintrin.h>
Intrinsic Name |
Operation |
Corresponding |
---|---|---|
_mm512_kand |
Bitwise logical AND masks. |
KANDW |
_mm512_kandn |
Bitwise logical AND NOT masks. |
KANDNW |
_mm512_kmov |
Move to and from mask registers. |
KMOVW |
_mm512_kunpackb |
Unpack mask registers. |
KUNPCKBW |
_mm512_knot |
Bitwise logical NOT masks. |
KNOTW |
_mm512_kor |
Bitwise logical OR masks. |
KORW |
_mm512_kortestc _mm512_kortestz |
Bitwise logical OR mask and set flag. |
KORTESTW |
_mm512_kxnor |
Bitwise logical XNOR masks. |
KXNORW |
_mm512_kxor |
Bitwise logical XOR masks. |
KXORW |
variable | definition |
---|---|
k | writemask used as a selector |
a | first source vector element |
b | second source vector element |
_mm512_kand
extern __mmask16 __cdecl _mm512_kand(__mmask16 a, __mmask16 b);
Computes the bitwise AND of 16-bit masks a and b, and stores the result in k.
_mm512_kandn
extern __mmask16 __cdecl _mm512_kandn(__mmask16 a, __mmask16 b);
Computes the bitwise AND NOT of 16-bit masks a and b, and stores the result in k.
_mm512_knot
extern __mmask16 __cdecl _mm512_knot(__mmask16 a);
Computes the bitwise NOT of 16-bit mask a, and stores the result in k.
_mm512_kor
extern __mmask16 __cdecl _mm512_kor(__mmask16 a, __mmask16 b);
Computes the bitwise OR of 16-bit masks a and b, and stores the result in k.
_mm512_kxnor
extern __mmask16 __cdecl _mm512_kxnor(__mmask16 a, __mmask16 b);
Computes the bitwise XNOR of 16-bit masks a and b, and stores the result in k.
_mm512_kxor
extern __mmask16 __cdecl _mm512_kxor(__mmask16 a, __mmask16 b);
Computes the bitwise XOR of 16-bit masks a and b, and stores the result in k.
_mm512_kmov
extern __mmask16 __cdecl _mm512_kmov(__mmask16 a);
Copies 16-bit mask a to k.
_mm512_kunpackb
extern __mmask16 __cdecl _mm512_kunpackb(__mmask16 a, __mmask16 b);
Unpacks and interleaves eight bits from 16-bit masks a and b, and stores the 16-bit result in mask register.