summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/AMDGPU/global_atomics.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/AMDGPU/global_atomics.ll')
-rw-r--r--llvm/test/CodeGen/AMDGPU/global_atomics.ll11
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/global_atomics.ll b/llvm/test/CodeGen/AMDGPU/global_atomics.ll
index 031f17f1385..72f748578b3 100644
--- a/llvm/test/CodeGen/AMDGPU/global_atomics.ll
+++ b/llvm/test/CodeGen/AMDGPU/global_atomics.ll
@@ -839,6 +839,17 @@ entry:
ret void
}
+; GCN-LABEL: {{^}}atomic_xchg_f32_offset:
+; SIVI: buffer_atomic_swap v{{[0-9]+}}, off, s[{{[0-9]+}}:{{[0-9]+}}], 0 offset:16{{$}}
+
+; GFX9: global_atomic_swap v[{{[0-9]+:[0-9]+}}], v{{[0-9]+}}, off offset:16{{$}}
+define amdgpu_kernel void @atomic_xchg_f32_offset(float addrspace(1)* %out, float %in) {
+entry:
+ %gep = getelementptr float, float addrspace(1)* %out, i64 4
+ %val = atomicrmw volatile xchg float addrspace(1)* %gep, float %in seq_cst
+ ret void
+}
+
; GCN-LABEL: {{^}}atomic_xchg_i32_ret_offset:
; SIVI: buffer_atomic_swap [[RET:v[0-9]+]], off, s[{{[0-9]+}}:{{[0-9]+}}], 0 offset:16 glc{{$}}
; SIVI: buffer_store_dword [[RET]]
OpenPOWER on IntegriCloud