Vol. 2A 2-43
INSTRUCTION FORMAT
2.6.11.3 Opcode Dependent #UD
This section describes legal values for the rest of the EVEX bit fields. Table 2-39 lists the #UD conditions of EVEX
prefix bit fields which encodes or modifies register operands.
Table 2-40 lists the #UD conditions of instruction encoding of opmask register using EVEX.aaa and EVEX.z
Table 2-39. #UD Conditions of Operand-Encoding EVEX Prefix Bit Fields
Notation
Position
Operand Encoding
64-bit #UD
Non-64-bit #UD
EVEX.R
P[7]
ModRM.reg encodes k-reg
if EVEX.R = 0
None (BOUND if
EVEX.RX != 11b)
ModRM.reg is opcode extension
None (ignored)
ModRM.reg encodes all other registers
None (valid)
EVEX.X
P[6]
ModRM.r/m encodes ZMM/YMM/XMM
None (valid)
ModRM.r/m encodes k-reg or GPR
None (ignored)
ModRM.r/m without SIB/VSIB
None (ignored)
ModRM.r/m with SIB/VSIB
None (valid)
EVEX.B
P[5]
ModRM.r/m encodes k-reg
None (ignored)
None (ignored)
ModRM.r/m encodes other registers
None (valid)
ModRM.r/m base present
None (valid)
ModRM.r/m base not present
None (ignored)
EVEXR’
P[4]
ModRM.reg encodes k-reg or GPR
if 0
None (ignored)
ModRM.reg is opcode extension
None (ignored)
ModRM.reg encodes ZMM/YMM/XMM
None (valid)
EVEX.vvvv
P[14 : 11] vvvv encodes ZMM/YMM/XMM
None (valid)
None (valid)
P[14] ignored
Otherwise
if != 1111b
if != 1111b
EVEXV’
P[19]
Encodes ZMM/YMM/XMM
None (valid)
if 0
Otherwise
if 0
if 0
Table 2-40. #UD Conditions of Opmask Related Encoding Field
Notation
Position
Operand Encoding
64-bit #UD
Non-64-bit #UD
EVEX.aaa
P[18 : 16] Instructions do not use opmask for conditional processing
1
.
NOTES:
1. E.g., VBROADCASTMxxx, VPMOVM2x, VPMOVx2M.
if aaa != 000b
if aaa != 000b
Opmask used as conditional processing mask and updated
at completion
2
.
2. E.g., Gather/Scatter family.
if aaa = 000b
if aaa = 000b;
Opmask used as conditional processing.
None (valid
3
)
3. aaa can take any value. A value of 000 indicates that there is no masking on the instruction; in this case, all elements will be pro-
cessed as if there was a mask of ‘all ones’ regardless of the actual value in K0.
None (valid
1
)
EVEX.z
P[23]
Vector instruction using opmask as source or destination
4
.
4. E.g., VFPCLASSPD/PS, VCMPB/D/Q/W family, VPMOVM2x, VPMOVx2M.
if EVEX.z != 0
if EVEX.z != 0
Store instructions or gather/scatter instructions.
if EVEX.z != 0
if EVEX.z != 0
Instruction supporting conditional processing mask with
EVEX.aaa = 000b.
if EVEX.z != 0
if EVEX.z != 0