Add missing vsetcc expansion for widening

llvm-svn: 58443
This commit is contained in:
Mon P Wang 2008-10-30 18:21:52 +00:00
parent cbdce2e53a
commit 01b8a5a967
1 changed files with 12 additions and 1 deletions

View File

@ -7941,9 +7941,20 @@ SDValue SelectionDAGLegalize::WidenVectorOp(SDValue Op, MVT WidenVT) {
break;
}
break;
}
case ISD::VSETCC: {
// Determine widen for the operand
SDValue Tmp1 = Node->getOperand(0);
MVT TmpVT = Tmp1.getValueType();
assert(TmpVT.isVector() && "can not widen non vector type");
MVT TmpEVT = TmpVT.getVectorElementType();
MVT TmpWidenVT = MVT::getVectorVT(TmpEVT, NewNumElts);
Tmp1 = WidenVectorOp(Tmp1, TmpWidenVT);
SDValue Tmp2 = WidenVectorOp(Node->getOperand(1), TmpWidenVT);
Result = DAG.getNode(Node->getOpcode(), WidenVT, Tmp1, Tmp2,
Node->getOperand(2));
break;
}
case ISD::ATOMIC_CMP_SWAP_8:
case ISD::ATOMIC_CMP_SWAP_16:
case ISD::ATOMIC_CMP_SWAP_32: