================ @@ -489,22 +489,61 @@ RegBankLegalizeRules::RegBankLegalizeRules(const GCNSubtarget &_ST, .Uni(B32, {{SgprB32}, {Sgpr32AExtBoolInReg, SgprB32, SgprB32}}); addRulesForGOpcs({G_ANYEXT}) + .Any({{UniS16, S1}, {{None}, {None}}}) // should be combined away .Any({{UniS32, S1}, {{None}, {None}}}) // should be combined away - .Any({{UniS32, S16}, {{Sgpr32}, {Sgpr16}}}); + .Any({{UniS64, S1}, {{None}, {None}}}) // should be combined away + .Any({{{DivS16, S1}}, {{Vgpr16}, {Vcc}, VccExtToSel}}) + .Any({{{DivS32, S1}}, {{Vgpr32}, {Vcc}, VccExtToSel}}) + .Any({{{DivS64, S1}}, {{Vgpr64}, {Vcc}, VccExtToSel}}) + .Any({{UniS64, S32}, {{Sgpr64}, {Sgpr32}, Ext32To64}}) ---------------- ritter-x2a wrote:
+1 on the need for documentation: It's hard to follow which of the parts serve, e.g., as patterns, replacements, or asserts. https://github.com/llvm/llvm-project/pull/132383 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits