diff options
| author | Aaron Watry <awatry@gmail.com> | 2013-09-05 16:04:01 +0000 |
|---|---|---|
| committer | Aaron Watry <awatry@gmail.com> | 2013-09-05 16:04:01 +0000 |
| commit | 50a7bcbac92afc472f381f4dde694a613f411daf (patch) | |
| tree | 4e7bc5551942abe06081ea5b42726ae404a478c7 /libclc/generic/include/clc/atomic | |
| parent | 785ee472a35148486f024c85191df8364ed4f35d (diff) | |
| download | bcm5719-llvm-50a7bcbac92afc472f381f4dde694a613f411daf.tar.gz bcm5719-llvm-50a7bcbac92afc472f381f4dde694a613f411daf.zip | |
Add atomic_inc and atomic_add builtins
Reviewed-by: Aaron Watry <awatry@gmail.com>
llvm-svn: 190058
Diffstat (limited to 'libclc/generic/include/clc/atomic')
| -rw-r--r-- | libclc/generic/include/clc/atomic/atomic_add.h | 3 | ||||
| -rw-r--r-- | libclc/generic/include/clc/atomic/atomic_decl.inc | 10 | ||||
| -rw-r--r-- | libclc/generic/include/clc/atomic/atomic_inc.h | 1 |
3 files changed, 14 insertions, 0 deletions
diff --git a/libclc/generic/include/clc/atomic/atomic_add.h b/libclc/generic/include/clc/atomic/atomic_add.h new file mode 100644 index 00000000000..66d897805ca --- /dev/null +++ b/libclc/generic/include/clc/atomic/atomic_add.h @@ -0,0 +1,3 @@ +#define __CLC_FUNCTION atomic_add +#include <clc/atomic/atomic_decl.inc> +#undef __CLC_FUNCTION diff --git a/libclc/generic/include/clc/atomic/atomic_decl.inc b/libclc/generic/include/clc/atomic/atomic_decl.inc new file mode 100644 index 00000000000..03d01aa045e --- /dev/null +++ b/libclc/generic/include/clc/atomic/atomic_decl.inc @@ -0,0 +1,10 @@ + +#define __CLC_DECLARE_ATOMIC(ADDRSPACE, TYPE) \ + _CLC_OVERLOAD _CLC_DECL TYPE __CLC_FUNCTION (volatile ADDRSPACE TYPE *, TYPE); + +#define __CLC_DECLARE_ATOMIC_ADDRSPACE(TYPE) \ + __CLC_DECLARE_ATOMIC(global, TYPE); \ + __CLC_DECLARE_ATOMIC(local, TYPE); + +__CLC_DECLARE_ATOMIC_ADDRSPACE(int); +__CLC_DECLARE_ATOMIC_ADDRSPACE(uint); diff --git a/libclc/generic/include/clc/atomic/atomic_inc.h b/libclc/generic/include/clc/atomic/atomic_inc.h new file mode 100644 index 00000000000..21373919804 --- /dev/null +++ b/libclc/generic/include/clc/atomic/atomic_inc.h @@ -0,0 +1 @@ +#define atomic_inc(p) atomic_add(p, 1); |

