Make sure to use the machine instruction operand number. It doesn't always
map one-to-one with the CodeGenInstruction operand number.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116238 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/CodeEmitterGen.cpp b/utils/TableGen/CodeEmitterGen.cpp
index 1a967e9..13eea6b 100644
--- a/utils/TableGen/CodeEmitterGen.cpp
+++ b/utils/TableGen/CodeEmitterGen.cpp
@@ -162,6 +162,8 @@
               if (CGI.hasOperandNamed(VarName, OpIdx)) {
                 assert (!CGI.isFlatOperandNotEmitted(OpIdx) &&
                         "Explicitly used operand also marked as not emitted!");
+                // Get the machine operand number for the indicated operand.
+                OpIdx = CGI.OperandList[OpIdx].MIOperandNo;
               } else {
                 /// If this operand is not supposed to be emitted by the
                 /// generated emitter, skip it.