summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/X86RecognizableInstr.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2017-10-22 06:18:26 +0000
committerCraig Topper <craig.topper@intel.com>2017-10-22 06:18:26 +0000
commite975127db642fb2742121c10549ac7ed53698137 (patch)
treefb5a34c18e74743ef2c17e39f275c2767d6e8731 /llvm/utils/TableGen/X86RecognizableInstr.cpp
parenta33846aca6999d11a33cab2b2455f671b3a10ff1 (diff)
downloadbcm5719-llvm-e975127db642fb2742121c10549ac7ed53698137.tar.gz
bcm5719-llvm-e975127db642fb2742121c10549ac7ed53698137.zip
[X86] Teach the disassembler that some instructions use VEX.W==0 without a corresponding VEX.W==1 instruction and we shouldn't treat them as if VEX.W is ignored.
Fixes PR11304. llvm-svn: 316285
Diffstat (limited to 'llvm/utils/TableGen/X86RecognizableInstr.cpp')
-rw-r--r--llvm/utils/TableGen/X86RecognizableInstr.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/utils/TableGen/X86RecognizableInstr.cpp b/llvm/utils/TableGen/X86RecognizableInstr.cpp
index 0bb26f71162..ec8580234d1 100644
--- a/llvm/utils/TableGen/X86RecognizableInstr.cpp
+++ b/llvm/utils/TableGen/X86RecognizableInstr.cpp
@@ -800,13 +800,15 @@ void RecognizableInstr::emitDecodePath(DisassemblerTables &tables) const {
insnContext(),
currentOpcode,
*filter,
- UID, Is32Bit, IgnoresVEX_L, AddressSize);
+ UID, Is32Bit, IgnoresVEX_L,
+ VEX_WPrefix == X86Local::VEX_WIG, AddressSize);
} else {
tables.setTableFields(opcodeType,
insnContext(),
opcodeToSet,
*filter,
- UID, Is32Bit, IgnoresVEX_L, AddressSize);
+ UID, Is32Bit, IgnoresVEX_L,
+ VEX_WPrefix == X86Local::VEX_WIG, AddressSize);
}
delete filter;
OpenPOWER on IntegriCloud