@@ -1617,22 +1617,20 @@ void DAGTypeLegalizer::SplitVecRes_BITCAST(SDNode *N, SDValue &Lo,
1617
1617
1618
1618
void DAGTypeLegalizer::SplitVecRes_LOOP_DEPENDENCE_MASK (SDNode *N, SDValue &Lo,
1619
1619
SDValue &Hi) {
1620
- unsigned EltSize = N->getConstantOperandVal (2 );
1621
-
1622
1620
SDLoc DL (N);
1623
1621
EVT LoVT, HiVT;
1624
1622
std::tie (LoVT, HiVT) = DAG.GetSplitDestVTs (N->getValueType (0 ));
1625
1623
SDValue PtrA = N->getOperand (0 );
1626
1624
SDValue PtrB = N->getOperand (1 );
1627
1625
Lo = DAG.getNode (N->getOpcode (), DL, LoVT, PtrA, PtrB, N->getOperand (2 ));
1628
1626
1627
+ unsigned EltSize = N->getConstantOperandVal (2 );
1629
1628
unsigned Offset = EltSize * HiVT.getVectorMinNumElements ();
1630
1629
SDValue Addend = HiVT.isScalableVT ()
1631
1630
? DAG.getVScale (DL, MVT::i64 , APInt (64 , Offset))
1632
1631
: DAG.getConstant (Offset, DL, MVT::i64 );
1633
1632
1634
1633
PtrA = DAG.getNode (ISD::ADD, DL, MVT::i64 , PtrA, Addend);
1635
- PtrB = DAG.getNode (ISD::ADD, DL, MVT::i64 , PtrB, Addend);
1636
1634
Hi = DAG.getNode (N->getOpcode (), DL, HiVT, PtrA, PtrB, N->getOperand (2 ));
1637
1635
}
1638
1636
0 commit comments