[X86][Disassembler] Fix LOCK prefix disassembler support
authorMaksim Panchenko <maks@fb.com>
Thu, 5 Jul 2018 23:32:42 +0000 (23:32 +0000)
committerMaksim Panchenko <maks@fb.com>
Thu, 5 Jul 2018 23:32:42 +0000 (23:32 +0000)
commit89e4abe7b740d78ee6b926bf5dac7420bb688983
treeb29a37a82259ae9e1bb7f23e57ec35fa72fd55e6
parent9e412ec8f2996258f9c6b04f96c5b063cb288c7b
[X86][Disassembler] Fix LOCK prefix disassembler support

Summary:
If LOCK prefix is not the first prefix in an instruction, LLVM
disassembler silently drops the prefix.

The fix is to select a proper instruction with a builtin LOCK prefix if
one exists.

Reviewers: craig.topper

Reviewed By: craig.topper

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D49001

llvm-svn: 336400
llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp
llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h
llvm/test/MC/Disassembler/X86/prefixes.txt