summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InferAddressSpaces/AMDGPU/volatile.ll
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2017-01-31 01:56:57 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2017-01-31 01:56:57 +0000
commit6d5a8d48fd762153c4f3ba8c0e9f9d35ce84e6d6 (patch)
treeb1e458b9aa0059f81546e73129bf30b4999e3d47 /llvm/test/Transforms/InferAddressSpaces/AMDGPU/volatile.ll
parentf63f58a28f57891a2efc933bdd8c631013daa684 (diff)
downloadbcm5719-llvm-6d5a8d48fd762153c4f3ba8c0e9f9d35ce84e6d6.tar.gz
bcm5719-llvm-6d5a8d48fd762153c4f3ba8c0e9f9d35ce84e6d6.zip
InferAddressSpaces: Support memory intrinsics
llvm-svn: 293587
Diffstat (limited to 'llvm/test/Transforms/InferAddressSpaces/AMDGPU/volatile.ll')
-rw-r--r--llvm/test/Transforms/InferAddressSpaces/AMDGPU/volatile.ll24
1 files changed, 23 insertions, 1 deletions
diff --git a/llvm/test/Transforms/InferAddressSpaces/AMDGPU/volatile.ll b/llvm/test/Transforms/InferAddressSpaces/AMDGPU/volatile.ll
index f32d65b66ae..d9b80e99bf0 100644
--- a/llvm/test/Transforms/InferAddressSpaces/AMDGPU/volatile.ll
+++ b/llvm/test/Transforms/InferAddressSpaces/AMDGPU/volatile.ll
@@ -115,4 +115,26 @@ define { i32, i1 } @volatile_cmpxchg_group_to_flat(i32 addrspace(3)* %group.ptr,
ret { i32, i1 } %ret
}
-attributes #0 = { nounwind } \ No newline at end of file
+; FIXME: Shouldn't be losing names
+; CHECK-LABEL: @volatile_memset_group_to_flat(
+; CHECK: addrspacecast i8 addrspace(3)* %group.ptr to i8 addrspace(4)*
+; CHECK: call void @llvm.memset.p4i8.i64(i8 addrspace(4)* %1, i8 4, i64 32, i32 4, i1 true)
+define void @volatile_memset_group_to_flat(i8 addrspace(3)* %group.ptr, i32 %y) #0 {
+ %cast = addrspacecast i8 addrspace(3)* %group.ptr to i8 addrspace(4)*
+ call void @llvm.memset.p4i8.i64(i8 addrspace(4)* %cast, i8 4, i64 32, i32 4, i1 true)
+ ret void
+}
+
+; CHECK-LABEL: @volatile_memset_global_to_flat(
+; CHECK: addrspacecast i8 addrspace(1)* %global.ptr to i8 addrspace(4)*
+; CHECK: call void @llvm.memset.p4i8.i64(i8 addrspace(4)* %1, i8 4, i64 32, i32 4, i1 true)
+define void @volatile_memset_global_to_flat(i8 addrspace(1)* %global.ptr, i32 %y) #0 {
+ %cast = addrspacecast i8 addrspace(1)* %global.ptr to i8 addrspace(4)*
+ call void @llvm.memset.p4i8.i64(i8 addrspace(4)* %cast, i8 4, i64 32, i32 4, i1 true)
+ ret void
+}
+
+declare void @llvm.memset.p4i8.i64(i8 addrspace(4)* nocapture writeonly, i8, i64, i32, i1) #1
+
+attributes #0 = { nounwind }
+attributes #1 = { argmemonly nounwind }
OpenPOWER on IntegriCloud