@@ -6647,13 +6647,15 @@ void SITargetLowering::ReplaceNodeResults(SDNode *N,
66476647 EVT DstVT = N->getValueType(0);
66486648
66496649 assert(SrcVT.isVector() && DstVT.isVector());
6650+ assert(DstVT.getVectorElementType() == MVT::i8);
6651+ assert(SrcVT.getVectorElementType() == MVT::i16);
66506652
66516653 unsigned EleNo = SrcVT.getVectorNumElements();
66526654 assert(EleNo == DstVT.getVectorNumElements());
66536655
66546656 if (EleNo == 2) {
66556657 SDValue Op =
6656- DAG.getNode(AMDGPUISD::SAT_PK_CAST, SL, MVT::i16, N->getOperand(0) );
6658+ DAG.getNode(AMDGPUISD::SAT_PK_CAST, SL, MVT::i16, Src );
66576659 Op = DAG.getNode(ISD::BITCAST, SL, N->getValueType(0), Op);
66586660 Results.push_back(Op);
66596661 } else {
@@ -6664,7 +6666,7 @@ void SITargetLowering::ReplaceNodeResults(SDNode *N,
66646666 EVT DstEleVT = DstVT.getVectorElementType();
66656667 EVT SrcPairVT = EVT::getVectorVT(*DAG.getContext(), SrcEleVT, 2);
66666668 EVT DstPairVT = EVT::getVectorVT(*DAG.getContext(), DstEleVT, 2);
6667- for (unsigned i = 0; i + 1 < EleNo; i = i + 2) {
6669+ for (unsigned i = 0; i != EleNo; i += 2) {
66686670 SDValue SrcPair = DAG.getNode(ISD::EXTRACT_SUBVECTOR, SL, SrcPairVT,
66696671 Src, DAG.getConstant(i, SL, MVT::i32));
66706672 SDValue SatPk =
0 commit comments