[X86] Fix a bug where the disassembler was ignoring the VEX.W bit in 32-bit mode...
authorCraig Topper <craig.topper@gmail.com>
Tue, 7 Oct 2014 07:29:50 +0000 (07:29 +0000)
committerCraig Topper <craig.topper@gmail.com>
Tue, 7 Oct 2014 07:29:50 +0000 (07:29 +0000)
commit95717dbb1177f19141069ecdf20bf11a5d5cd956
tree3b0032579e9d88883ff71178674d935fc6eb8bc2
parentada4703cba28b6ca3381544e1e6e1c5264344384
[X86] Fix a bug where the disassembler was ignoring the VEX.W bit in 32-bit mode for certain instructions it shouldn't.

Unfortunately, this isn't easy to fix since there's no simple way to figure out from the disassembler tables whether the W-bit is being used to select a 64-bit GPR or if its a required part of the opcode. The fix implemented here just looks for "64" in the instruction name and ignores the W-bit in 32-bit mode if its present.

Fixes PR21169.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219194 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp
test/MC/Disassembler/X86/x86-32.txt