Fix ppc64 jump tables
authorChris Lattner <sabre@nondot.org>
Tue, 27 Jun 2006 20:46:17 +0000 (20:46 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 27 Jun 2006 20:46:17 +0000 (20:46 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28941 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PPCISelDAGToDAG.cpp

index 5bf1649a9bdcb21d4381db79de1a2359df59e508..da1de9a8f9d4a41d03d7c8d12b720b118ab689d3 100644 (file)
@@ -1173,7 +1173,8 @@ void PPCDAGToDAGISel::Select(SDOperand &Result, SDOperand Op) {
     SDOperand Chain, Target;
     Select(Chain, N->getOperand(0));
     Select(Target,N->getOperand(1));
-    Chain = SDOperand(CurDAG->getTargetNode(PPC::MTCTR, MVT::Other, Target,
+    unsigned Opc = Target.getValueType() == MVT::i32 ? PPC::MTCTR : PPC::MTCTR8;
+    Chain = SDOperand(CurDAG->getTargetNode(Opc, MVT::Other, Target,
                                             Chain), 0);
     Result = CurDAG->SelectNodeTo(N, PPC::BCTR, MVT::Other, Chain);
     return;