[llvm] [AMDGPU][GISel] Add register bank legalization rules for amdgcn_raw_buffer_load_async_lds (PR #201406)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 3 13:50:50 PDT 2026
================
@@ -1906,13 +1906,27 @@ RegBankLegalizeRules::RegBankLegalizeRules(const GCNSubtarget &_ST,
addRulesForIOpcs({amdgcn_raw_buffer_load_lds})
.Any({{_}, {{}, {IntrId, SgprV4S32, SgprP3, Imm, Vgpr32, Sgpr32}}});
+ addRulesForIOpcs({amdgcn_raw_buffer_load_async_lds})
+ .Any({{_}, {{}, {IntrId, SgprV4S32, SgprB32_M0, Imm, Vgpr32, Sgpr32}}});
+
+ addRulesForIOpcs({amdgcn_struct_buffer_load_async_lds})
+ .Any(
+ {{_},
+ {{}, {IntrId, SgprV4S32, SgprB32_M0, Imm, Vgpr32, Vgpr32, Sgpr32}}});
+
addRulesForIOpcs({amdgcn_struct_buffer_load_lds})
.Any({{_},
{{}, {IntrId, SgprV4S32, SgprP3, Imm, Vgpr32, Vgpr32, Sgpr32}}});
addRulesForIOpcs({amdgcn_raw_ptr_buffer_load_lds})
.Any({{_}, {{}, {IntrId, SgprP8, SgprP3, Imm, Vgpr32, Sgpr32}}});
+ addRulesForIOpcs({amdgcn_raw_ptr_buffer_load_async_lds})
+ .Any({{}, {{}, {IntrId, SgprP8, SgprB32_M0, Imm, VgprB32, SgprB32}}});
+
+ addRulesForIOpcs({amdgcn_struct_ptr_buffer_load_async_lds})
+ .Any({{_}, {{}, {IntrId, SgprP8, SgprP3, Imm, Vgpr32, Vgpr32, Sgpr32}}});
----------------
vangthao95 wrote:
Should this rule also use SgprB32_M0 for the LDS pointer?
https://github.com/llvm/llvm-project/pull/201406
More information about the llvm-commits
mailing list