diff options
Diffstat (limited to 'llvm/test/CodeGen/R600/unaligned-load-store.ll')
-rw-r--r-- | llvm/test/CodeGen/R600/unaligned-load-store.ll | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/R600/unaligned-load-store.ll b/llvm/test/CodeGen/R600/unaligned-load-store.ll index 0ba109b670a..76ea97cd94a 100644 --- a/llvm/test/CodeGen/R600/unaligned-load-store.ll +++ b/llvm/test/CodeGen/R600/unaligned-load-store.ll @@ -31,3 +31,20 @@ define void @unaligned_load_store_v4i32(<4 x i32> addrspace(3)* %p, <4 x i32> ad store <4 x i32> %v, <4 x i32> addrspace(3)* %r, align 1 ret void } + +; FIXME: This should use ds_read2_b32 +; SI-LABEL: @load_lds_i64_align_4 +; SI: DS_READ_B64 +; SI: S_ENDPGM +define void @load_lds_i64_align_4(i64 addrspace(1)* nocapture %out, i64 addrspace(3)* %in) #0 { + %val = load i64 addrspace(3)* %in, align 4 + store i64 %val, i64 addrspace(1)* %out, align 8 + ret void +} + +; FIXME: Need to fix this case. +; define void @load_lds_i64_align_1(i64 addrspace(1)* nocapture %out, i64 addrspace(3)* %in) #0 { +; %val = load i64 addrspace(3)* %in, align 1 +; store i64 %val, i64 addrspace(1)* %out, align 8 +; ret void +; } |