Apply a fix for a vector setcc dagcombine from Jan Sjodin. No
authorDan Gohman <gohman@apple.com>
Sat, 24 Apr 2010 01:17:30 +0000 (01:17 +0000)
committerDan Gohman <gohman@apple.com>
Sat, 24 Apr 2010 01:17:30 +0000 (01:17 +0000)
testcase yet, as the testcase now fails downstream.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102228 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/DAGCombiner.cpp

index e586a23441c6ae85b54b6fa9c67c19e8901ab4c8..4f1c5f2875ea81e2df8dd9445cfe1b8fbd3ee3e7 100644 (file)
@@ -3474,8 +3474,9 @@ SDValue DAGCombiner::visitSIGN_EXTEND(SDNode *N) {
     }
     
     // sext(setcc x, y, cc) -> (select_cc x, y, -1, 0, cc)
+    unsigned ElementWidth = VT.getScalarType().getSizeInBits();
     SDValue NegOne =
-      DAG.getConstant(APInt::getAllOnesValue(VT.getSizeInBits()), VT);
+      DAG.getConstant(APInt::getAllOnesValue(ElementWidth), VT);
     SDValue SCC =
       SimplifySelectCC(N->getDebugLoc(), N0.getOperand(0), N0.getOperand(1),
                        NegOne, DAG.getConstant(0, VT),