Fix JIT encoding of two-addr instructions.
authorChris Lattner <sabre@nondot.org>
Tue, 5 Sep 2006 03:01:52 +0000 (03:01 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 5 Sep 2006 03:01:52 +0000 (03:01 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30111 91177308-0d34-0410-b5e6-96231b3b80d8

utils/TableGen/CodeEmitterGen.cpp

index f0a02872cebe0b386e3f85154d1d0b95e90f79d3..3dcaea43007b279fd7b817b2a5ff3616ab1034f2 100644 (file)
@@ -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;