diff options
| author | Eli Bendersky <eliben@google.com> | 2015-07-10 15:40:33 +0000 |
|---|---|---|
| committer | Eli Bendersky <eliben@google.com> | 2015-07-10 15:40:33 +0000 |
| commit | 5c0039a0142d4f99c5f8cf4162018eb2d5414572 (patch) | |
| tree | a8e61c7f63e0b13d08e183a4d6c65be8a760ebeb /llvm/test | |
| parent | d9e4b4ff36abdd513c0fd246f98abef8094fe114 (diff) | |
| download | bcm5719-llvm-5c0039a0142d4f99c5f8cf4162018eb2d5414572.tar.gz bcm5719-llvm-5c0039a0142d4f99c5f8cf4162018eb2d5414572.zip | |
Actually support volatile memcpys in NVPTX lowering
Differential Revision: http://reviews.llvm.org/D11091
llvm-svn: 241914
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/CodeGen/NVPTX/lower-aggr-copies.ll | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/NVPTX/lower-aggr-copies.ll b/llvm/test/CodeGen/NVPTX/lower-aggr-copies.ll index ff706b5df25..c3adfc4646c 100644 --- a/llvm/test/CodeGen/NVPTX/lower-aggr-copies.ll +++ b/llvm/test/CodeGen/NVPTX/lower-aggr-copies.ll @@ -19,6 +19,19 @@ entry: ; CHECK-NEXT: @%p[[PRED]] bra LBB[[LABEL]] } +define i8* @memcpy_volatile_caller(i8* %dst, i8* %src, i64 %n) #0 { +entry: + tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %dst, i8* %src, i64 %n, i32 1, i1 true) + ret i8* %dst +; CHECK-LABEL: .visible .func (.param .b32 func_retval0) memcpy_volatile_caller +; CHECK: LBB[[LABEL:[_0-9]+]]: +; CHECK: ld.volatile.u8 %rs[[REG:[0-9]+]] +; CHECK: st.volatile.u8 [%r{{[0-9]+}}], %rs[[REG]] +; CHECK: add.s64 %rd[[COUNTER:[0-9]+]], %rd[[COUNTER]], 1 +; CHECK-NEXT: setp.lt.u64 %p[[PRED:[0-9]+]], %rd[[COUNTER]], %rd +; CHECK-NEXT: @%p[[PRED]] bra LBB[[LABEL]] +} + define i8* @memset_caller(i8* %dst, i32 %c, i64 %n) #0 { entry: %0 = trunc i32 %c to i8 |

