@@ -158,7 +158,7 @@ RISCVLegalizerInfo::RISCVLegalizerInfo(const RISCVSubtarget &ST)
158
158
getActionDefinitionsBuilder ({G_UADDSAT, G_SADDSAT, G_USUBSAT, G_SSUBSAT})
159
159
.lower ();
160
160
161
- getActionDefinitionsBuilder ({G_ASHR, G_LSHR, G_SHL })
161
+ getActionDefinitionsBuilder ({G_SHL, G_ASHR, G_LSHR })
162
162
.legalFor ({{s32, s32}, {sXLen , sXLen }})
163
163
.widenScalarToNextPow2 (0 )
164
164
.clampScalar (1 , s32, sXLen )
@@ -202,7 +202,7 @@ RISCVLegalizerInfo::RISCVLegalizerInfo(const RISCVSubtarget &ST)
202
202
203
203
getActionDefinitionsBuilder ({G_FSHL, G_FSHR}).lower ();
204
204
205
- getActionDefinitionsBuilder ({G_ROTL, G_ROTR })
205
+ getActionDefinitionsBuilder ({G_ROTR, G_ROTL })
206
206
.legalFor (ST.hasStdExtZbb () || ST.hasStdExtZbkb (), {{sXLen , sXLen }})
207
207
.customFor (ST.is64Bit () && (ST.hasStdExtZbb () || ST.hasStdExtZbkb ()),
208
208
{{s32, s32}})
@@ -456,7 +456,7 @@ RISCVLegalizerInfo::RISCVLegalizerInfo(const RISCVSubtarget &ST)
456
456
}
457
457
458
458
if (ST.hasStdExtM ()) {
459
- getActionDefinitionsBuilder ({G_UDIV, G_SDIV , G_UREM})
459
+ getActionDefinitionsBuilder ({G_SDIV, G_UDIV , G_UREM})
460
460
.legalFor ({sXLen })
461
461
.customFor ({s32})
462
462
.libcallFor ({sDoubleXLen })
@@ -475,7 +475,7 @@ RISCVLegalizerInfo::RISCVLegalizerInfo(const RISCVSubtarget &ST)
475
475
}
476
476
477
477
// TODO: Use libcall for sDoubleXLen.
478
- getActionDefinitionsBuilder ({G_UDIVREM, G_SDIVREM }).lower ();
478
+ getActionDefinitionsBuilder ({G_SDIVREM, G_UDIVREM }).lower ();
479
479
480
480
getActionDefinitionsBuilder (G_ABS)
481
481
.customFor (ST.hasStdExtZbb (), {sXLen })
@@ -632,6 +632,7 @@ RISCVLegalizerInfo::RISCVLegalizerInfo(const RISCVSubtarget &ST)
632
632
typeIsLegalIntOrFPVec (1 , IntOrFPVecTys, ST)));
633
633
634
634
getLegacyLegalizerInfo ().computeTables ();
635
+ verify (*ST.getInstrInfo ());
635
636
}
636
637
637
638
bool RISCVLegalizerInfo::legalizeIntrinsic (LegalizerHelper &Helper,
0 commit comments