diff options
author | Craig Topper <craig.topper@intel.com> | 2017-10-22 06:18:26 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2017-10-22 06:18:26 +0000 |
commit | e975127db642fb2742121c10549ac7ed53698137 (patch) | |
tree | fb5a34c18e74743ef2c17e39f275c2767d6e8731 /llvm/utils/TableGen/X86RecognizableInstr.cpp | |
parent | a33846aca6999d11a33cab2b2455f671b3a10ff1 (diff) | |
download | bcm5719-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.cpp | 6 |
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; |