diff options
author | Jan Vesely <jan.vesely@rutgers.edu> | 2018-06-21 19:27:23 +0000 |
---|---|---|
committer | Jan Vesely <jan.vesely@rutgers.edu> | 2018-06-21 19:27:23 +0000 |
commit | b9cbe0bf514b141efc2e9bb35f625992b670431a (patch) | |
tree | 0a6da1169f97c83af79402bf8e2f1fb1dfa3326d /libclc | |
parent | d1c3811ff7432e6b3e574d685b642ff7040eeab8 (diff) |
atom: Consolidate cl_khr_int64_{base,extended}_atomics declarations
Reviewed-By: Aaron Watry <awatry@gmail.com>
Tested-By: Aaron Watry <awatry@gmail.com>
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
llvm-svn: 335277
Diffstat (limited to 'libclc')
9 files changed, 27 insertions, 32 deletions
diff --git a/libclc/generic/include/clc/atom_decl_int64.inc b/libclc/generic/include/clc/atom_decl_int64.inc new file mode 100644 index 000000000000..1e0cc32df212 --- /dev/null +++ b/libclc/generic/include/clc/atom_decl_int64.inc @@ -0,0 +1,11 @@ +#define __CLC_DECLARE_ATOM(ADDRSPACE, TYPE) \ + _CLC_OVERLOAD _CLC_DECL TYPE __CLC_FUNCTION (volatile ADDRSPACE TYPE *, TYPE); + +__CLC_DECLARE_ATOM(local, long) +__CLC_DECLARE_ATOM(local, ulong) +__CLC_DECLARE_ATOM(global, long) +__CLC_DECLARE_ATOM(global, ulong) + +#undef __CLC_DECLARE_ATOM + +#undef __CLC_FUNCTION diff --git a/libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_add.h b/libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_add.h index 5addc13bd501..6f6adadce59f 100644 --- a/libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_add.h +++ b/libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_add.h @@ -1,4 +1,2 @@ -_CLC_OVERLOAD _CLC_DECL long atom_add(volatile global long *p, long val); -_CLC_OVERLOAD _CLC_DECL unsigned long atom_add(volatile global unsigned long *p, unsigned long val); -_CLC_OVERLOAD _CLC_DECL long atom_add(volatile local long *p, long val); -_CLC_OVERLOAD _CLC_DECL unsigned long atom_add(volatile local unsigned long *p, unsigned long val); +#define __CLC_FUNCTION atom_add +#include <clc/atom_decl_int64.inc> diff --git a/libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_sub.h b/libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_sub.h index 2186ec9e43d9..e0431dd81eea 100644 --- a/libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_sub.h +++ b/libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_sub.h @@ -1,4 +1,2 @@ -_CLC_OVERLOAD _CLC_DECL long atom_sub(volatile global long *p, long val); -_CLC_OVERLOAD _CLC_DECL unsigned long atom_sub(volatile global unsigned long *p, unsigned long val); -_CLC_OVERLOAD _CLC_DECL long atom_sub(volatile local long *p, long val); -_CLC_OVERLOAD _CLC_DECL unsigned long atom_sub(volatile local unsigned long *p, unsigned long val); +#define __CLC_FUNCTION atom_sub +#include <clc/atom_decl_int64.inc> diff --git a/libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_xchg.h b/libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_xchg.h index 3627af13e96a..cac9688c4e5b 100644 --- a/libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_xchg.h +++ b/libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_xchg.h @@ -1,4 +1,2 @@ -_CLC_OVERLOAD _CLC_DECL long atom_xchg(volatile global long *p, long val); -_CLC_OVERLOAD _CLC_DECL unsigned long atom_xchg(volatile global unsigned long *p, unsigned long val); -_CLC_OVERLOAD _CLC_DECL long atom_xchg(volatile local long *p, long val); -_CLC_OVERLOAD _CLC_DECL unsigned long atom_xchg(volatile local unsigned long *p, unsigned long val); +#define __CLC_FUNCTION atom_xchg +#include <clc/atom_decl_int64.inc> diff --git a/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_and.h b/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_and.h index 388df1d06441..b8e610491b30 100644 --- a/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_and.h +++ b/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_and.h @@ -1,4 +1,2 @@ -_CLC_OVERLOAD _CLC_DECL long atom_and(volatile global long *p, long val); -_CLC_OVERLOAD _CLC_DECL unsigned long atom_and(volatile global unsigned long *p, unsigned long val); -_CLC_OVERLOAD _CLC_DECL long atom_and(volatile local long *p, long val); -_CLC_OVERLOAD _CLC_DECL unsigned long atom_and(volatile local unsigned long *p, unsigned long val); +#define __CLC_FUNCTION atom_and +#include <clc/atom_decl_int64.inc> diff --git a/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_max.h b/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_max.h index b84b5a04040b..b9cff1997387 100644 --- a/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_max.h +++ b/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_max.h @@ -1,4 +1,2 @@ -_CLC_OVERLOAD _CLC_DECL long atom_max(volatile global long *p, long val); -_CLC_OVERLOAD _CLC_DECL unsigned long atom_max(volatile global unsigned long *p, unsigned long val); -_CLC_OVERLOAD _CLC_DECL long atom_max(volatile local long *p, long val); -_CLC_OVERLOAD _CLC_DECL unsigned long atom_max(volatile local unsigned long *p, unsigned long val); +#define __CLC_FUNCTION atom_max +#include <clc/atom_decl_int64.inc> diff --git a/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_min.h b/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_min.h index bd70b0b60e62..0a19d217182c 100644 --- a/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_min.h +++ b/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_min.h @@ -1,4 +1,2 @@ -_CLC_OVERLOAD _CLC_DECL long atom_min(volatile global long *p, long val); -_CLC_OVERLOAD _CLC_DECL unsigned long atom_min(volatile global unsigned long *p, unsigned long val); -_CLC_OVERLOAD _CLC_DECL long atom_min(volatile local long *p, long val); -_CLC_OVERLOAD _CLC_DECL unsigned long atom_min(volatile local unsigned long *p, unsigned long val); +#define __CLC_FUNCTION atom_min +#include <clc/atom_decl_int64.inc> diff --git a/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_or.h b/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_or.h index e307822a4894..f4baa364a6ef 100644 --- a/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_or.h +++ b/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_or.h @@ -1,4 +1,2 @@ -_CLC_OVERLOAD _CLC_DECL long atom_or(volatile global long *p, long val); -_CLC_OVERLOAD _CLC_DECL unsigned long atom_or(volatile global unsigned long *p, unsigned long val); -_CLC_OVERLOAD _CLC_DECL long atom_or(volatile local long *p, long val); -_CLC_OVERLOAD _CLC_DECL unsigned long atom_or(volatile local unsigned long *p, unsigned long val); +#define __CLC_FUNCTION atom_or +#include <clc/atom_decl_int64.inc> diff --git a/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_xor.h b/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_xor.h index 54eb492a5b60..d64a342e9a97 100644 --- a/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_xor.h +++ b/libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_xor.h @@ -1,4 +1,2 @@ -_CLC_OVERLOAD _CLC_DECL long atom_xor(volatile global long *p, long val); -_CLC_OVERLOAD _CLC_DECL unsigned long atom_xor(volatile global unsigned long *p, unsigned long val); -_CLC_OVERLOAD _CLC_DECL long atom_xor(volatile local long *p, long val); -_CLC_OVERLOAD _CLC_DECL unsigned long atom_xor(volatile local unsigned long *p, unsigned long val); +#define __CLC_FUNCTION atom_xor +#include <clc/atom_decl_int64.inc> |