Skip to content

Commit 8f82c02

Browse files
authored
[AMDGPU] New RegBankSelect: Add rules for G_PTRTOINT and G_INTTOPTR (#142604)
1 parent 62fe5e4 commit 8f82c02

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -718,7 +718,21 @@ RegBankLegalizeRules::RegBankLegalizeRules(const GCNSubtarget &_ST,
718718
.Any({{DivP1}, {{VgprP1}, {VgprP1, Vgpr64}}})
719719
.Any({{DivP0}, {{VgprP0}, {VgprP0, Vgpr64}}});
720720

721-
addRulesForGOpcs({G_INTTOPTR}).Any({{UniP4}, {{SgprP4}, {Sgpr64}}});
721+
addRulesForGOpcs({G_INTTOPTR})
722+
.Any({{UniPtr32}, {{SgprPtr32}, {Sgpr32}}})
723+
.Any({{DivPtr32}, {{VgprPtr32}, {Vgpr32}}})
724+
.Any({{UniPtr64}, {{SgprPtr64}, {Sgpr64}}})
725+
.Any({{DivPtr64}, {{VgprPtr64}, {Vgpr64}}})
726+
.Any({{UniPtr128}, {{SgprPtr128}, {Sgpr128}}})
727+
.Any({{DivPtr128}, {{VgprPtr128}, {Vgpr128}}});
728+
729+
addRulesForGOpcs({G_PTRTOINT})
730+
.Any({{UniS32}, {{Sgpr32}, {SgprPtr32}}})
731+
.Any({{DivS32}, {{Vgpr32}, {VgprPtr32}}})
732+
.Any({{UniS64}, {{Sgpr64}, {SgprPtr64}}})
733+
.Any({{DivS64}, {{Vgpr64}, {VgprPtr64}}})
734+
.Any({{UniS128}, {{Sgpr128}, {SgprPtr128}}})
735+
.Any({{DivS128}, {{Vgpr128}, {VgprPtr128}}});
722736

723737
addRulesForGOpcs({G_ABS}, Standard).Uni(S16, {{Sgpr32Trunc}, {Sgpr32SExt}});
724738

llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-inttoptr.mir

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
22
# RUN: llc -mtriple=amdgcn -run-pass=regbankselect %s -verify-machineinstrs -o - -regbankselect-fast | FileCheck %s
33
# RUN: llc -mtriple=amdgcn -run-pass=regbankselect %s -verify-machineinstrs -o - -regbankselect-greedy | FileCheck %s
4+
# RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass="amdgpu-regbankselect,amdgpu-regbanklegalize" %s -verify-machineinstrs -o - | FileCheck %s
45

56
---
67
name: inttoptr_s_p0

llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ptrtoint.mir

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
22
# RUN: llc -mtriple=amdgcn -run-pass=regbankselect %s -verify-machineinstrs -o - -regbankselect-fast | FileCheck %s
33
# RUN: llc -mtriple=amdgcn -run-pass=regbankselect %s -verify-machineinstrs -o - -regbankselect-greedy | FileCheck %s
4+
# RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass="amdgpu-regbankselect,amdgpu-regbanklegalize" %s -verify-machineinstrs -o - | FileCheck %s
45

56
---
67
name: ptrtoint_s_p0

0 commit comments

Comments
 (0)