background image

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