[llvm-branch-commits] [llvm] [AMDGPU][SDAG] Add test for ISD::PTRADD handling in SelectionDAGAddressAnalysis (PR #142777)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Jun 4 06:53:40 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-amdgpu
Author: Fabian Ritter (ritter-x2a)
<details>
<summary>Changes</summary>
Pre-committing test to show improvements in a follow-up PR.
---
Full diff: https://github.com/llvm/llvm-project/pull/142777.diff
1 Files Affected:
- (modified) llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll (+29)
``````````diff
diff --git a/llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll b/llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll
index 656003f45c54b..bce59307446ce 100644
--- a/llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll
+++ b/llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll
@@ -132,3 +132,32 @@ declare noalias ptr addrspace(4) @llvm.amdgcn.implicitarg.ptr()
declare i64 @llvm.amdgcn.dispatch.id()
declare noalias ptr addrspace(4) @llvm.amdgcn.dispatch.ptr()
+
+; Taken from memcpy-param-combinations.ll, tests PTRADD handling in
+; SelectionDAGAddressAnalysis.
+define void @memcpy_p1_p4_sz16_align_1_1(ptr addrspace(1) align 1 %dst, ptr addrspace(4) align 1 readonly %src) {
+; GFX942_PTRADD-LABEL: memcpy_p1_p4_sz16_align_1_1:
+; GFX942_PTRADD: ; %bb.0: ; %entry
+; GFX942_PTRADD-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX942_PTRADD-NEXT: global_load_dwordx2 v[4:5], v[2:3], off
+; GFX942_PTRADD-NEXT: s_waitcnt vmcnt(0)
+; GFX942_PTRADD-NEXT: global_store_dwordx2 v[0:1], v[4:5], off
+; GFX942_PTRADD-NEXT: global_load_dwordx2 v[2:3], v[2:3], off offset:8
+; GFX942_PTRADD-NEXT: s_waitcnt vmcnt(0)
+; GFX942_PTRADD-NEXT: global_store_dwordx2 v[0:1], v[2:3], off offset:8
+; GFX942_PTRADD-NEXT: s_waitcnt vmcnt(0)
+; GFX942_PTRADD-NEXT: s_setpc_b64 s[30:31]
+;
+; GFX942_LEGACY-LABEL: memcpy_p1_p4_sz16_align_1_1:
+; GFX942_LEGACY: ; %bb.0: ; %entry
+; GFX942_LEGACY-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX942_LEGACY-NEXT: global_load_dwordx4 v[2:5], v[2:3], off
+; GFX942_LEGACY-NEXT: s_waitcnt vmcnt(0)
+; GFX942_LEGACY-NEXT: global_store_dwordx4 v[0:1], v[2:5], off
+; GFX942_LEGACY-NEXT: s_waitcnt vmcnt(0)
+; GFX942_LEGACY-NEXT: s_setpc_b64 s[30:31]
+entry:
+ tail call void @llvm.memcpy.p1.p4.i64(ptr addrspace(1) noundef nonnull align 1 %dst, ptr addrspace(4) noundef nonnull align 1 %src, i64 16, i1 false)
+ ret void
+}
+
``````````
</details>
https://github.com/llvm/llvm-project/pull/142777
More information about the llvm-branch-commits
mailing list