Some instruction opcodes have an entirely different encoding when a VEX prefix is present. For example, 0f41 is CMOVNO without mandatory prefixes while VEX.NP.W0.L1.0f41 is KANDW with a mandatory prefix. To avoid collisions, the VEX prefix is better handled as a completely separate decode tree, at the cost of a slight increase in table size.
9 lines
432 B
Bash
9 lines
432 B
Bash
decode f30f7e5c2408 [SSE_MOVQ_X2X reg8:r3 mem8:r4+0x8]
|
|
decode c5f96ec8 [VMOVD_G2X reg4:r1 reg4:r0]
|
|
decode64 c4e1f96ec8 [VMOVQ_G2X reg8:r1 reg8:r0]
|
|
decode32 c4e1f96ec8 [VMOVD_G2X reg4:r1 reg4:r0]
|
|
decode c5f22ac0 [VCVTSI2SS reg16:r0 reg16:r1 reg4:r0]
|
|
decode32 c4e1f22ac0 [VCVTSI2SS reg16:r0 reg16:r1 reg4:r0]
|
|
decode64 c4e1f22ac0 [VCVTSI2SS reg16:r0 reg16:r1 reg8:r0]
|
|
decode64 c4e2759004e7 [VPGATHERDD reg32:r0 mem32:r7+8*r4 reg32:r1]
|