Skip to content

Commit eae020b

Browse files
AMDGPU/GlobalISel: RegBankLegalize rules for 64 bit s_min/max and u_min/max (#202076)
1 parent c61fd0c commit eae020b

2 files changed

Lines changed: 7 additions & 3 deletions

File tree

llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -655,15 +655,19 @@ RegBankLegalizeRules::RegBankLegalizeRules(const GCNSubtarget &_ST,
655655
.Uni(S32, {{Sgpr32}, {Sgpr32, Sgpr32}})
656656
.Div(S32, {{Vgpr32}, {Vgpr32, Vgpr32}})
657657
.Uni(V2S16, {{SgprV2S16}, {SgprV2S16, SgprV2S16}, UnpackMinMax})
658-
.Div(V2S16, {{VgprV2S16}, {VgprV2S16, VgprV2S16}});
658+
.Div(V2S16, {{VgprV2S16}, {VgprV2S16, VgprV2S16}})
659+
.Uni(S64, {{UniInVgprS64}, {Vgpr64, Vgpr64}})
660+
.Div(S64, {{Vgpr64}, {Vgpr64, Vgpr64}});
659661

660662
addRulesForGOpcs({G_UMIN, G_UMAX}, Standard)
661663
.Uni(S16, {{Sgpr32Trunc}, {Sgpr32ZExt, Sgpr32ZExt}})
662664
.Div(S16, {{Vgpr16}, {Vgpr16, Vgpr16}})
663665
.Uni(S32, {{Sgpr32}, {Sgpr32, Sgpr32}})
664666
.Div(S32, {{Vgpr32}, {Vgpr32, Vgpr32}})
665667
.Uni(V2S16, {{SgprV2S16}, {SgprV2S16, SgprV2S16}, UnpackMinMax})
666-
.Div(V2S16, {{VgprV2S16}, {VgprV2S16, VgprV2S16}});
668+
.Div(V2S16, {{VgprV2S16}, {VgprV2S16, VgprV2S16}})
669+
.Uni(S64, {{UniInVgprS64}, {Vgpr64, Vgpr64}})
670+
.Div(S64, {{Vgpr64}, {Vgpr64, Vgpr64}});
667671

668672
addRulesForGOpcs({G_IMPLICIT_DEF})
669673
.Any({{UniS1}, {{Sgpr32Trunc}, {}}})

llvm/test/CodeGen/AMDGPU/GlobalISel/minmaxabs-i64.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2-
; RUN: llc -global-isel -mtriple=amdgcn-unknown-amdhsa -mcpu=gfx1250 < %s | FileCheck %s
2+
; RUN: llc -global-isel -new-reg-bank-select -mtriple=amdgcn-unknown-amdhsa -mcpu=gfx1250 < %s | FileCheck %s
33

44
declare i64 @llvm.umin.i64(i64, i64)
55
declare i64 @llvm.umax.i64(i64, i64)

0 commit comments

Comments
 (0)