[AMDGPU]/GlobalISel: RegBankLegalize rules for fp8/bf8 cvt intrinsics (#193551)

This commit is contained in:
Aidan Shilling
2026-04-29 18:18:56 -05:00
committed by GitHub
parent 74f3b562b3
commit df32e69938
2 changed files with 959 additions and 7 deletions

View File

@@ -1728,6 +1728,20 @@ RegBankLegalizeRules::RegBankLegalizeRules(const GCNSubtarget &_ST,
.Uni(S32, {{UniInVgprS32}, {IntrId, Vgpr32, Vgpr32}})
.Div(S32, {{Vgpr32}, {IntrId, Vgpr32, Vgpr32}});
addRulesForIOpcs({amdgcn_cvt_sr_bf8_f32, amdgcn_cvt_sr_fp8_f32,
amdgcn_cvt_pk_bf8_f32, amdgcn_cvt_pk_fp8_f32},
Standard)
.Uni(S32, {{UniInVgprS32}, {IntrId, Vgpr32, Vgpr32, Vgpr32}})
.Div(S32, {{Vgpr32}, {IntrId, Vgpr32, Vgpr32, Vgpr32}});
addRulesForIOpcs({amdgcn_cvt_f32_bf8, amdgcn_cvt_f32_fp8}, Standard)
.Uni(S32, {{UniInVgprS32}, {IntrId, Vgpr32}})
.Div(S32, {{Vgpr32}, {IntrId, Vgpr32}});
addRulesForIOpcs({amdgcn_cvt_pk_f32_bf8, amdgcn_cvt_pk_f32_fp8})
.Any({{UniV2S32}, {{UniInVgprV2S32}, {IntrId, Vgpr32}}})
.Any({{DivV2S32}, {{VgprV2S32}, {IntrId, Vgpr32}}});
addRulesForIOpcs({amdgcn_cubesc, amdgcn_cubetc, amdgcn_cubema, amdgcn_cubeid,
amdgcn_fma_legacy},
Standard)

File diff suppressed because it is too large Load Diff