KNOTW, KNOTB, KNOTQ, KNOTD
NOT Mask Register
stableVMJITAOTinstruction
Encodings
| Opcode | Instruction | Op/En | 64-bit | Compat/Legacy | Description |
|---|---|---|---|---|---|
VEX.L0.0F.W0 44 /r | KNOTW k1, k2 | RR | Valid | Valid | Bitwise NOT of 16 bits mask k2. OR AVX10.1 |
VEX.L0.66.0F.W0 44 /r | KNOTB k1, k2 | RR | Valid | Valid | Bitwise NOT of 8 bits mask k2. OR AVX10.1 |
VEX.L0.0F.W1 44 /r | KNOTQ k1, k2 | RR | Valid | Valid | Bitwise NOT of 64 bits mask k2. OR AVX10.1 |
VEX.L0.66.0F.W1 44 /r | KNOTD k1, k2 | RR | Valid | Valid | Bitwise NOT of 32 bits mask k2. OR AVX10.1 |
Operand encoding
Each mode is a value of the Op/En column above. It says which field of the encoded instruction carries each operand, in the order they are written, and whether the instruction reads it, writes it or both.
RR
modrm.regescrituraModRM byte, reg field (bits 5-3)modrm.rmlecturaModRM byte, r/m field (bits 2-0); with the SIB byte and the displacement when the mod field asks for them
Measured cost
Loading measurements from arch-data...
Description
Performs a bitwise NOT of vector mask k2 and writes the result into vector mask k1.
Operation
KNOTW
DEST[15:0] := BITWISE NOT SRC[15:0]
DEST[MAX_KL-1:16] := 0
KNOTB
DEST[7:0] := BITWISE NOT SRC[7:0]
DEST[MAX_KL-1:8] := 0
KNOTQ
DEST[63:0] := BITWISE NOT SRC[63:0]
DEST[MAX_KL-1:64] := 0
KNOTD
DEST[31:0] := BITWISE NOT SRC[31:0]
DEST[MAX_KL-1:32] := 0Intel C/C++ compiler intrinsics
KNOTW __mmask16 _mm512_knot(__mmask16 a);Flags affected
None.
SIMD Floating-Point Exceptions
None.
Other Exceptions
See Table 2-65, "TYPE K20 Exception Definition (VEX-Encoded OpMask Instructions w/o Memory Arg)."