[LegalizeTypes] Use GetSplitVector in SplitVec(Res/Op)_PARTIAL_REDUCE_MLA (#162513)
Using DAG.getSplitVector creates new nodes that need to be legalized. We should use GetSplitVector to get the already legalized copy of the inputs.
This commit is contained in:
parent
ab7138154b
commit
2afd71f318
@ -3416,7 +3416,7 @@ void DAGTypeLegalizer::SplitVecRes_PARTIAL_REDUCE_MLA(SDNode *N, SDValue &Lo,
|
||||
SDValue Input2 = N->getOperand(2);
|
||||
|
||||
SDValue AccLo, AccHi;
|
||||
std::tie(AccLo, AccHi) = DAG.SplitVector(Acc, DL);
|
||||
GetSplitVector(Acc, AccLo, AccHi);
|
||||
unsigned Opcode = N->getOpcode();
|
||||
|
||||
// If the input types don't need splitting, just accumulate into the
|
||||
@ -3429,8 +3429,8 @@ void DAGTypeLegalizer::SplitVecRes_PARTIAL_REDUCE_MLA(SDNode *N, SDValue &Lo,
|
||||
|
||||
SDValue Input1Lo, Input1Hi;
|
||||
SDValue Input2Lo, Input2Hi;
|
||||
std::tie(Input1Lo, Input1Hi) = DAG.SplitVector(Input1, DL);
|
||||
std::tie(Input2Lo, Input2Hi) = DAG.SplitVector(Input2, DL);
|
||||
GetSplitVector(Input1, Input1Lo, Input1Hi);
|
||||
GetSplitVector(Input2, Input2Lo, Input2Hi);
|
||||
EVT ResultVT = AccLo.getValueType();
|
||||
|
||||
Lo = DAG.getNode(Opcode, DL, ResultVT, AccLo, Input1Lo, Input2Lo);
|
||||
@ -4761,8 +4761,8 @@ SDValue DAGTypeLegalizer::SplitVecOp_PARTIAL_REDUCE_MLA(SDNode *N) {
|
||||
|
||||
SDLoc DL(N);
|
||||
SDValue Input1Lo, Input1Hi, Input2Lo, Input2Hi;
|
||||
std::tie(Input1Lo, Input1Hi) = DAG.SplitVector(N->getOperand(1), DL);
|
||||
std::tie(Input2Lo, Input2Hi) = DAG.SplitVector(N->getOperand(2), DL);
|
||||
GetSplitVector(N->getOperand(1), Input1Lo, Input1Hi);
|
||||
GetSplitVector(N->getOperand(2), Input2Lo, Input2Hi);
|
||||
unsigned Opcode = N->getOpcode();
|
||||
EVT ResultVT = Acc.getValueType();
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user