[GlobalISel][X86] Move G_SEXT_INREG legalization handling to beside the regular integ...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 6 Jun 2023 13:38:19 +0000 (14:38 +0100)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 6 Jun 2023 13:39:10 +0000 (14:39 +0100)
llvm/lib/Target/X86/X86LegalizerInfo.cpp

index d0611cd..9425036 100644 (file)
@@ -290,6 +290,8 @@ X86LegalizerInfo::X86LegalizerInfo(const X86Subtarget &STI,
     .widenScalarToNextPow2(1, /*Min=*/8)
     .clampScalar(1, s8, sMaxScalar);
 
+  getActionDefinitionsBuilder(G_SEXT_INREG).lower();
+
   // fp constants
   getActionDefinitionsBuilder(G_FCONSTANT)
       .legalIf([=](const LegalityQuery &Query) -> bool {
@@ -376,8 +378,6 @@ void X86LegalizerInfo::setLegalizerInfo32bit() {
   // Control-flow
   LegacyInfo.setAction({G_BRCOND, s1}, LegacyLegalizeActions::Legal);
 
-  getActionDefinitionsBuilder(G_SEXT_INREG).lower();
-
   // Merge/Unmerge
   for (const auto &Ty : {s16, s32, s64}) {
     LegacyInfo.setAction({G_MERGE_VALUES, Ty}, LegacyLegalizeActions::Legal);