summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/InstPrinter
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-01-25 21:23:57 +0000
committerCraig Topper <craig.topper@intel.com>2018-01-25 21:23:57 +0000
commit6fd634b11b5be0126723acf30fe5c7c65c1cbee3 (patch)
treea4189db5c4bb02d6917dfd2de82742d349c1e377 /llvm/lib/Target/X86/InstPrinter
parent4abd60ab64b72bc1997f4576461b801e6e2ca3ac (diff)
downloadbcm5719-llvm-6fd634b11b5be0126723acf30fe5c7c65c1cbee3.tar.gz
bcm5719-llvm-6fd634b11b5be0126723acf30fe5c7c65c1cbee3.zip
[X86] Teach Intel syntax InstPrinter to print lock prefixes that have been parsed from the asm parser.
The asm parser puts the lock prefix in the MCInst flags so we need to check that in addition to TSFlags. This matches what the ATT printer does. llvm-svn: 323469
Diffstat (limited to 'llvm/lib/Target/X86/InstPrinter')
-rw-r--r--llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp b/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
index 1f02600a798..79a8e304970 100644
--- a/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
+++ b/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
@@ -39,11 +39,11 @@ void X86IntelInstPrinter::printInst(const MCInst *MI, raw_ostream &OS,
const MCSubtargetInfo &STI) {
const MCInstrDesc &Desc = MII.get(MI->getOpcode());
uint64_t TSFlags = Desc.TSFlags;
+ unsigned Flags = MI->getFlags();
- if (TSFlags & X86II::LOCK)
+ if ((TSFlags & X86II::LOCK) || (Flags & X86::IP_HAS_LOCK))
OS << "\tlock\t";
- unsigned Flags = MI->getFlags();
if (Flags & X86::IP_HAS_REPEAT_NE)
OS << "\trepne\t";
else if (Flags & X86::IP_HAS_REPEAT)
OpenPOWER on IntegriCloud