diff --git a/lib/Target/X86/X86CodeEmitter.cpp b/lib/Target/X86/X86CodeEmitter.cpp
index 977cc50c139..d7050495f89 100644
--- a/lib/Target/X86/X86CodeEmitter.cpp
+++ b/lib/Target/X86/X86CodeEmitter.cpp
@@ -927,6 +927,8 @@ void Emitter<CodeEmitter>::emitVEXOpcodePrefix(uint64_t TSFlags,
   for (unsigned i = 0; i != MI.getNumOperands(); ++i) {
     if (!MI.getOperand(i).isReg())
       continue;
+    if (MI.getOperand(i).isImplicit())
+      continue;
     unsigned SrcReg = MI.getOperand(i).getReg();
     if (SrcReg >= X86::YMM0 && SrcReg <= X86::YMM15)
       VEX_L = 1;