Use special root table for VEX

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.
This commit is contained in:
Alexis Engelke
2020-02-10 20:29:05 +01:00
parent b376d0d0f8
commit f6a66ea4fb
3 changed files with 42 additions and 30 deletions

View File

@@ -2,3 +2,7 @@ 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]