1 ; RUN: llc < %s -march=r600 -mcpu=redwood | FileCheck %s --check-prefix=R600-CHECK
2 ; RUN: llc < %s -march=r600 -mcpu=SI -verify-machineinstrs | FileCheck %s --check-prefix=SI-CHECK
4 ; R600-CHECK-LABEL: @atomic_add_local
5 ; R600-CHECK: LDS_ADD *
6 ; SI-CHECK-LABEL: @atomic_add_local
7 ; SI-CHECK: DS_ADD_U32_RTN 0
8 define void @atomic_add_local(i32 addrspace(3)* %local) {
10 %0 = atomicrmw volatile add i32 addrspace(3)* %local, i32 5 seq_cst
14 ; R600-CHECK-LABEL: @atomic_add_ret_local
15 ; R600-CHECK: LDS_ADD_RET *
16 ; SI-CHECK-LABEL: @atomic_add_ret_local
17 ; SI-CHECK: DS_ADD_U32_RTN 0
18 define void @atomic_add_ret_local(i32 addrspace(1)* %out, i32 addrspace(3)* %local) {
20 %0 = atomicrmw volatile add i32 addrspace(3)* %local, i32 5 seq_cst
21 store i32 %0, i32 addrspace(1)* %out