summaryrefslogtreecommitdiffstats
path: root/libclc/generic/include/clc/atomic/atomic_cmpxchg.h
blob: 2e4f1c21dcc27c7a9b0ef5f312fdb226d62afc23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#define __CLC_FUNCTION atomic_cmpxchg

#define __CLC_DECLARE_ATOMIC_3_ARG(ADDRSPACE, TYPE) \
	_CLC_OVERLOAD _CLC_DECL TYPE __CLC_FUNCTION (volatile ADDRSPACE TYPE *, TYPE, TYPE);

#define __CLC_DECLARE_ATOMIC_ADDRSPACE_3_ARG(TYPE) \
	__CLC_DECLARE_ATOMIC_3_ARG(global, TYPE) \
	__CLC_DECLARE_ATOMIC_3_ARG(local, TYPE)

__CLC_DECLARE_ATOMIC_ADDRSPACE_3_ARG(int)
__CLC_DECLARE_ATOMIC_ADDRSPACE_3_ARG(uint)

#undef __CLC_FUNCTION
#undef __CLC_DECLARE_ATOMIC_3_ARG
#undef __CLC_DECLARE_ATOMIC_ADDRESS_SPACE_3_ARG
OpenPOWER on IntegriCloud