aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp')
-rw-r--r--lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp b/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
index d6af6712d5a1..1f02600a7982 100644
--- a/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
+++ b/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
@@ -41,7 +41,13 @@ void X86IntelInstPrinter::printInst(const MCInst *MI, raw_ostream &OS,
uint64_t TSFlags = Desc.TSFlags;
if (TSFlags & X86II::LOCK)
- OS << "\tlock\n";
+ OS << "\tlock\t";
+
+ unsigned Flags = MI->getFlags();
+ if (Flags & X86::IP_HAS_REPEAT_NE)
+ OS << "\trepne\t";
+ else if (Flags & X86::IP_HAS_REPEAT)
+ OS << "\trep\t";
printInstruction(MI, OS);
@@ -152,6 +158,7 @@ void X86IntelInstPrinter::printOperand(const MCInst *MI, unsigned OpNo,
O << formatImm((int64_t)Op.getImm());
} else {
assert(Op.isExpr() && "unknown operand kind in printOperand");
+ O << "offset ";
Op.getExpr()->print(O, &MAI);
}
}