summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/AMDGPU/merge-store-usedef.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/AMDGPU/merge-store-usedef.ll')
-rw-r--r--llvm/test/CodeGen/AMDGPU/merge-store-usedef.ll23
1 files changed, 23 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/merge-store-usedef.ll b/llvm/test/CodeGen/AMDGPU/merge-store-usedef.ll
new file mode 100644
index 00000000000..e4a36d7e691
--- /dev/null
+++ b/llvm/test/CodeGen/AMDGPU/merge-store-usedef.ll
@@ -0,0 +1,23 @@
+; RUN: llc -march=amdgcn -mcpu=verde -verify-machineinstrs < %s | FileCheck %s
+; RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck %s
+
+; CHECK-LABEL: {{^}}test1:
+; CHECK: ds_write_b32
+; CHECK: ds_read_b32
+; CHECK: ds_write_b32
+define amdgpu_vs void @test1(i32 %v) #0 {
+ %p0 = getelementptr i32, i32 addrspace(3)* null, i32 0
+ %p1 = getelementptr i32, i32 addrspace(3)* null, i32 1
+
+ store i32 %v, i32 addrspace(3)* %p0
+
+ call void @llvm.SI.tbuffer.store.i32(<16 x i8> undef, i32 %v, i32 1, i32 undef, i32 undef, i32 0, i32 4, i32 4, i32 1, i32 0, i32 1, i32 1, i32 0)
+
+ %w = load i32, i32 addrspace(3)* %p0
+ store i32 %w, i32 addrspace(3)* %p1
+ ret void
+}
+
+declare void @llvm.SI.tbuffer.store.i32(<16 x i8>, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32) #0
+
+attributes #0 = { nounwind }
OpenPOWER on IntegriCloud