diff --git a/utils/TableGen/CodeEmitterGen.cpp b/utils/TableGen/CodeEmitterGen.cpp index f0a02872ceb..3dcaea43007 100644 --- a/utils/TableGen/CodeEmitterGen.cpp +++ b/utils/TableGen/CodeEmitterGen.cpp @@ -161,6 +161,11 @@ void CodeEmitterGen::run(std::ostream &o) { + utostr(op++) + "));\n"; gotOp = true; + + // If this is a two-address instruction and we just got the dest + // op, skip the src op. + if (op == 1 && Target.getInstruction(InstName).isTwoAddress) + ++op; } unsigned opMask = (1 << N) - 1;