diff --git a/AVX512.md b/AVX512.md index 896f4c6f..dd1130a8 100644 --- a/AVX512.md +++ b/AVX512.md @@ -80,11 +80,12 @@ This is effectively "no masking". `K1-K7` registers can be used to override default opmask. `K` register should be placed right before destination operand. -Zeroing-masking can be activated with `Z` opcode suffix. +Zeroing-masking can be activated with `Z` opcode suffix. Zeroing-masking requires that a mask register other than K0 be specified. For example, `VADDPD.Z (AX), Z30, K3, Z10` uses zeroing-masking and explicit `K` register. -- If `Z` opcode suffix is removed, it's merging-masking. -- If `K3` operand is removed, `K0` operand is implied. +- If `Z` opcode suffix is removed, it's merging-masking with `K3` mask. +- If `K3` operand is removed, it generates an assembler error. +- If both `Z` opcode suffix and `K3` operand are removed, it is merging-masking with `K0` mask. It's compile-time error to use `K0` register for `{k1}` operands (consult [manuals](https://software.intel.com/en-us/articles/intel-sdm) for details).