llvm.org GIT mirror llvm / d0d3e79
[X86][Disassembler] Suppress reading of EVEX.V' and EVEX.R' in 32-bit mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@333714 91177308-0d34-0410-b5e6-96231b3b80d8 Craig Topper 2 years ago
2 changed file(s) with 4 addition(s) and 4 deletion(s). Raw diff Collapse all Expand all
13401340
13411341 reg |= rFromREX(insn->rexPrefix) << 3;
13421342 rm |= bFromREX(insn->rexPrefix) << 3;
1343 if (insn->vectorExtensionType == TYPE_EVEX) {
1343 if (insn->vectorExtensionType == TYPE_EVEX && insn->mode == MODE_64BIT) {
13441344 reg |= r2FromEVEX2of4(insn->vectorExtensionPrefix[1]) << 4;
13451345 rm |= xFromEVEX2of4(insn->vectorExtensionPrefix[1]) << 4;
13461346 }
17581758 insn->sibIndex = (SIBIndex)4;
17591759
17601760 // If EVEX.v2 is set this is one of the 16-31 registers.
1761 if (insn->vectorExtensionType == TYPE_EVEX &&
1761 if (insn->vectorExtensionType == TYPE_EVEX && insn->mode == MODE_64BIT &&
17621762 v2FromEVEX4of4(insn->vectorExtensionPrefix[3]))
17631763 insn->sibIndex = (SIBIndex)(insn->sibIndex + 16);
17641764
883883 #CHECK: enclv
884884 0x0f 0x01 0xc0
885885
886 #CHECK: vaddps %xmm2, %xmm1, %xmm16
886 #CHECK: vaddps %xmm2, %xmm1, %xmm0
887887 0x62 0xe1 0x74 0x00 0x58 0xc2
888888
889 #CHECK: vgatherdps (%esi,%zmm16,4), %zmm1 {%k2}
889 #CHECK: vgatherdps (%esi,%zmm0,4), %zmm1 {%k2}
890890 0x62 0xf2 0x7d 0x42 0x92 0x0c 0x86