diff --git a/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp b/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp index 7b6ff131d78..8efb28414ac 100644 --- a/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp +++ b/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp @@ -365,7 +365,8 @@ bool X86AsmBackend::writeNopData(raw_ostream &OS, uint64_t Count) const { for (uint8_t i = 0; i < Prefixes; i++) OS << '\x66'; const uint8_t Rest = ThisNopLength - Prefixes; - OS.write(Nops[Rest - 1], Rest); + if (Rest != 0) + OS.write(Nops[Rest - 1], Rest); Count -= ThisNopLength; } while (Count != 0);