[llvm] [AMDGPU] Add regbankselect rules for G_ADD/SUB and variants (PR #159860)
Anshil Gandhi via llvm-commits
llvm-commits at lists.llvm.org
Sun Oct 19 10:50:25 PDT 2025
================
@@ -473,40 +473,14 @@ define amdgpu_ps i32 @s_uaddo_i32(i32 inreg %a, i32 inreg %b) {
ret i32 %ret
}
-define amdgpu_ps i64 @s_uaddo_i64(i64 inreg %a, i64 inreg %b) {
-; GFX7-LABEL: s_uaddo_i64:
-; GFX7: ; %bb.0:
-; GFX7-NEXT: s_add_u32 s0, s0, s2
-; GFX7-NEXT: s_addc_u32 s1, s1, s3
-; GFX7-NEXT: s_cselect_b32 s2, 1, 0
-; GFX7-NEXT: s_add_u32 s0, s0, s2
-; GFX7-NEXT: s_addc_u32 s1, s1, 0
-; GFX7-NEXT: ; return to shader part epilog
-;
-; GFX8-LABEL: s_uaddo_i64:
-; GFX8: ; %bb.0:
-; GFX8-NEXT: s_add_u32 s0, s0, s2
-; GFX8-NEXT: s_addc_u32 s1, s1, s3
-; GFX8-NEXT: s_cselect_b32 s2, 1, 0
-; GFX8-NEXT: s_add_u32 s0, s0, s2
-; GFX8-NEXT: s_addc_u32 s1, s1, 0
-; GFX8-NEXT: ; return to shader part epilog
-;
-; GFX9-LABEL: s_uaddo_i64:
-; GFX9: ; %bb.0:
-; GFX9-NEXT: s_add_u32 s0, s0, s2
-; GFX9-NEXT: s_addc_u32 s1, s1, s3
-; GFX9-NEXT: s_cselect_b32 s2, 1, 0
-; GFX9-NEXT: s_add_u32 s0, s0, s2
-; GFX9-NEXT: s_addc_u32 s1, s1, 0
-; GFX9-NEXT: ; return to shader part epilog
- %uaddo = call {i64, i1} @llvm.uadd.with.overflow.i64(i64 %a, i64 %b)
- %add = extractvalue {i64, i1} %uaddo, 0
- %of = extractvalue {i64, i1} %uaddo, 1
- %of.zext = zext i1 %of to i64
- %ret = add i64 %add, %of.zext
- ret i64 %ret
-}
+;define amdgpu_ps i64 @s_uaddo_i64(i64 inreg %a, i64 inreg %b) {
----------------
gandhi56 wrote:
Added these tests to add.ll and sub.ll
https://github.com/llvm/llvm-project/pull/159860
More information about the llvm-commits
mailing list