This patch is a result of D37262: The issues with X86 prefixes. It closes PR7709, PR17697, PR19251, PR32809 and PR21640. There could be other bugs closed by this patch.
llvm-svn: 315899
diff --git a/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp b/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
index 7259387..464941a 100644
--- a/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
+++ b/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
@@ -43,6 +43,12 @@
if (TSFlags & X86II::LOCK)
OS << "\tlock\n";
+ unsigned Flags = MI->getFlags();
+ if (Flags & X86::IP_HAS_REPEAT_NE)
+ OS << "\trepne\n";
+ else if (Flags & X86::IP_HAS_REPEAT)
+ OS << "\trep\n";
+
printInstruction(MI, OS);
// Next always print the annotation.