Check the right value type. This fixes 186.crafty on x86
authorChris Lattner <sabre@nondot.org>
Thu, 21 Sep 2006 06:17:39 +0000 (06:17 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 21 Sep 2006 06:17:39 +0000 (06:17 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30560 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/DAGCombiner.cpp

index 2f68106804caff8f0707e13fe1fe0c7978e70bbd..64014dcb05499732f1b12e5e9c6117aac4d10557 100644 (file)
@@ -1768,7 +1768,8 @@ SDOperand DAGCombiner::visitSIGN_EXTEND(SDNode *N) {
   
   // fold (sext (truncate x)) -> (sextinreg x).
   if (N0.getOpcode() == ISD::TRUNCATE && 
-      (!AfterLegalize || TLI.isOperationLegal(ISD::SIGN_EXTEND_INREG, VT))) {
+      (!AfterLegalize || TLI.isOperationLegal(ISD::SIGN_EXTEND_INREG,
+                                              N0.getValueType()))) {
     SDOperand Op = N0.getOperand(0);
     if (Op.getValueType() < VT) {
       Op = DAG.getNode(ISD::ANY_EXTEND, VT, Op);