Variable ops instructions may ignore the last few operands for code emission.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30134 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/X86/X86CodeEmitter.cpp b/lib/Target/X86/X86CodeEmitter.cpp
index 569931f..33b2801 100644
--- a/lib/Target/X86/X86CodeEmitter.cpp
+++ b/lib/Target/X86/X86CodeEmitter.cpp
@@ -526,5 +526,7 @@
     ++CurOp;
     break;
   }
-  assert(CurOp == MI.getNumOperands() && "Unknown encoding!");
+
+  if ((Desc.Flags & M_VARIABLE_OPS) == 0)
+    assert(CurOp == MI.getNumOperands() && "Unknown encoding!");
 }