https://github.com/ritter-x2a created https://github.com/llvm/llvm-project/pull/142777
Pre-committing test to show improvements in a follow-up PR. >From 1fe91cbd5d3a3f8baa59eb389936f92b0a49ab6c Mon Sep 17 00:00:00 2001 From: Fabian Ritter <fabian.rit...@amd.com> Date: Wed, 4 Jun 2025 09:30:34 -0400 Subject: [PATCH] [AMDGPU][SDAG] Add test for ISD::PTRADD handling in SelectionDAGAddressAnalysis Pre-committing test to show improvements in a follow-up PR. --- .../AMDGPU/ptradd-sdag-optimizations.ll | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) 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 +} + _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits