@@ -5482,17 +5482,18 @@ void DAGTypeLegalizer::ExpandIntRes_FunnelShift(SDNode *N, SDValue &Lo,
5482
5482
}
5483
5483
5484
5484
void DAGTypeLegalizer::ExpandIntRes_CLMUL (SDNode *N, SDValue &Lo,
5485
- SDValue &Hi) {
5485
+ SDValue &Hi) {
5486
5486
// Values numbered from least significant to most significant.
5487
5487
SDValue LL, LH, RL, RH;
5488
5488
GetExpandedInteger (N->getOperand (0 ), LL, LH);
5489
5489
GetExpandedInteger (N->getOperand (1 ), RL, RH);
5490
5490
EVT HalfVT = LL.getValueType ();
5491
5491
SDLoc DL (N);
5492
5492
5493
- // CLMUL is carryless so Lo is computed from the low half
5493
+ // Lo is computed from the low half
5494
5494
Lo = DAG.getNode (ISD::CLMUL, DL, HalfVT, LL, RL);
5495
- // the high bits not included in CLMUL(A,B) can be computed by
5495
+ // CLMUL is carryless so the high bits not included in CLMUL(A,B)
5496
+ // can be computed by
5496
5497
// BITREVERSE(CLMUL(BITREVERSE(A), BITREVERSE(B))) >> 1
5497
5498
// Therefore we can compute the 2 hi/lo cross products
5498
5499
// and the the overflow of the low product
@@ -5505,10 +5506,10 @@ void DAGTypeLegalizer::ExpandIntRes_CLMUL(SDNode *N, SDValue &Lo,
5505
5506
SDValue One = DAG.getShiftAmountConstant (1 , HalfVT, DL);
5506
5507
Hi = DAG.getNode (ISD::SRL, DL, HalfVT, LoHi, One);
5507
5508
5508
- SDValue HITMP = DAG.getNode (ISD::CLMUL, DL, HalfVT, LL, RH);
5509
- Hi = DAG.getNode (ISD::XOR, DL, HalfVT, Hi, HITMP );
5510
- HITMP = DAG.getNode (ISD::CLMUL, DL, HalfVT, LH, RL);
5511
- Hi = DAG.getNode (ISD::XOR, DL, HalfVT, Hi, HITMP );
5509
+ SDValue HiTmp = DAG.getNode (ISD::CLMUL, DL, HalfVT, LL, RH);
5510
+ Hi = DAG.getNode (ISD::XOR, DL, HalfVT, Hi, HiTmp );
5511
+ HiTmp = DAG.getNode (ISD::CLMUL, DL, HalfVT, LH, RL);
5512
+ Hi = DAG.getNode (ISD::XOR, DL, HalfVT, Hi, HiTmp );
5512
5513
}
5513
5514
5514
5515
void DAGTypeLegalizer::ExpandIntRes_VSCALE (SDNode *N, SDValue &Lo,
0 commit comments