@@ -4527,6 +4527,7 @@ void DAGTypeLegalizer::ExpandIntRes_ShiftThroughStack(SDNode *N, SDValue &Lo,
4527
4527
void DAGTypeLegalizer::ExpandIntRes_Shift (SDNode *N,
4528
4528
SDValue &Lo, SDValue &Hi) {
4529
4529
EVT VT = N->getValueType (0 );
4530
+ unsigned Opc = N->getOpcode ();
4530
4531
SDLoc dl (N);
4531
4532
4532
4533
// If we can emit an efficient shift operation, do so now. Check to see if
@@ -4541,12 +4542,12 @@ void DAGTypeLegalizer::ExpandIntRes_Shift(SDNode *N,
4541
4542
4542
4543
// If this target supports shift_PARTS, use it. First, map to the _PARTS opc.
4543
4544
unsigned PartsOpc;
4544
- if (N-> getOpcode () == ISD::SHL) {
4545
+ if (Opc == ISD::SHL) {
4545
4546
PartsOpc = ISD::SHL_PARTS;
4546
- } else if (N-> getOpcode () == ISD::SRL) {
4547
+ } else if (Opc == ISD::SRL) {
4547
4548
PartsOpc = ISD::SRL_PARTS;
4548
4549
} else {
4549
- assert (N-> getOpcode () == ISD::SRA && " Unknown shift!" );
4550
+ assert (Opc == ISD::SRA && " Unknown shift!" );
4550
4551
PartsOpc = ISD::SRA_PARTS;
4551
4552
}
4552
4553
@@ -4599,7 +4600,7 @@ void DAGTypeLegalizer::ExpandIntRes_Shift(SDNode *N,
4599
4600
// Otherwise, emit a libcall.
4600
4601
RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
4601
4602
bool isSigned;
4602
- if (N-> getOpcode () == ISD::SHL) {
4603
+ if (Opc == ISD::SHL) {
4603
4604
isSigned = false ; /* sign irrelevant*/
4604
4605
if (VT == MVT::i16)
4605
4606
LC = RTLIB::SHL_I16;
@@ -4609,7 +4610,7 @@ void DAGTypeLegalizer::ExpandIntRes_Shift(SDNode *N,
4609
4610
LC = RTLIB::SHL_I64;
4610
4611
else if (VT == MVT::i128)
4611
4612
LC = RTLIB::SHL_I128;
4612
- } else if (N-> getOpcode () == ISD::SRL) {
4613
+ } else if (Opc == ISD::SRL) {
4613
4614
isSigned = false ;
4614
4615
if (VT == MVT::i16)
4615
4616
LC = RTLIB::SRL_I16;
@@ -4620,7 +4621,7 @@ void DAGTypeLegalizer::ExpandIntRes_Shift(SDNode *N,
4620
4621
else if (VT == MVT::i128)
4621
4622
LC = RTLIB::SRL_I128;
4622
4623
} else {
4623
- assert (N-> getOpcode () == ISD::SRA && " Unknown shift!" );
4624
+ assert (Opc == ISD::SRA && " Unknown shift!" );
4624
4625
isSigned = true ;
4625
4626
if (VT == MVT::i16)
4626
4627
LC = RTLIB::SRA_I16;
0 commit comments