[Libclc-dev] [PATCH] atomics: redefine atom_inc/atom_dec using atom_add/atom_sub
Aaron Watry via Libclc-dev
libclc-dev at lists.llvm.org
Tue Jun 20 19:11:53 PDT 2017
This is exactly what the atomic_[inc|dec] functions do, and it fixes
kernel compilation failures using the OpenCL CTS.
Signed-off-by: Aaron Watry <awatry at gmail.com>
---
generic/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h | 3 +--
generic/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h | 3 +--
generic/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h | 3 +--
generic/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h | 3 +--
generic/lib/SOURCES | 4 ----
generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl | 9 ---------
generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl | 9 ---------
generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl | 9 ---------
generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl | 9 ---------
9 files changed, 4 insertions(+), 48 deletions(-)
delete mode 100644 generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl
delete mode 100644 generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl
delete mode 100644 generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl
delete mode 100644 generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl
diff --git a/generic/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h b/generic/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
index bbc872c..a520fe4 100644
--- a/generic/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
+++ b/generic/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
@@ -1,2 +1 @@
-_CLC_OVERLOAD _CLC_DECL int atom_dec(global int *p);
-_CLC_OVERLOAD _CLC_DECL unsigned int atom_dec(global unsigned int *p);
+#define atom_dec(p) atom_sub(p, 1)
diff --git a/generic/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h b/generic/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
index 050747c..2b4436d 100644
--- a/generic/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
+++ b/generic/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
@@ -1,2 +1 @@
-_CLC_OVERLOAD _CLC_DECL int atom_inc(global int *p);
-_CLC_OVERLOAD _CLC_DECL unsigned int atom_inc(global unsigned int *p);
+#define atom_inc(p) atom_add(p, 1)
diff --git a/generic/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h b/generic/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
index e74d8fc..a520fe4 100644
--- a/generic/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
+++ b/generic/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
@@ -1,2 +1 @@
-_CLC_OVERLOAD _CLC_DECL int atom_dec(local int *p);
-_CLC_OVERLOAD _CLC_DECL unsigned int atom_dec(local unsigned int *p);
+#define atom_dec(p) atom_sub(p, 1)
diff --git a/generic/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h b/generic/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
index 718f1f2..2b4436d 100644
--- a/generic/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
+++ b/generic/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
@@ -1,2 +1 @@
-_CLC_OVERLOAD _CLC_DECL int atom_inc(local int *p);
-_CLC_OVERLOAD _CLC_DECL unsigned int atom_inc(local unsigned int *p);
+#define atom_inc(p) atom_add(p, 1)
diff --git a/generic/lib/SOURCES b/generic/lib/SOURCES
index 9e0157b..3386e8d 100644
--- a/generic/lib/SOURCES
+++ b/generic/lib/SOURCES
@@ -8,8 +8,6 @@ atomic/atomic_xchg.cl
atomic/atomic_impl.ll
cl_khr_global_int32_base_atomics/atom_add.cl
cl_khr_global_int32_base_atomics/atom_cmpxchg.cl
-cl_khr_global_int32_base_atomics/atom_dec.cl
-cl_khr_global_int32_base_atomics/atom_inc.cl
cl_khr_global_int32_base_atomics/atom_sub.cl
cl_khr_global_int32_base_atomics/atom_xchg.cl
cl_khr_global_int32_extended_atomics/atom_and.cl
@@ -19,8 +17,6 @@ cl_khr_global_int32_extended_atomics/atom_or.cl
cl_khr_global_int32_extended_atomics/atom_xor.cl
cl_khr_local_int32_base_atomics/atom_add.cl
cl_khr_local_int32_base_atomics/atom_cmpxchg.cl
-cl_khr_local_int32_base_atomics/atom_dec.cl
-cl_khr_local_int32_base_atomics/atom_inc.cl
cl_khr_local_int32_base_atomics/atom_sub.cl
cl_khr_local_int32_base_atomics/atom_xchg.cl
cl_khr_local_int32_extended_atomics/atom_and.cl
diff --git a/generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl b/generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl
deleted file mode 100644
index cc24d2f..0000000
--- a/generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <clc/clc.h>
-
-#define IMPL(TYPE) \
-_CLC_OVERLOAD _CLC_DEF TYPE atom_dec(global TYPE *p) { \
- return atom_sub(p, (TYPE)1); \
-}
-
-IMPL(int)
-IMPL(unsigned int)
diff --git a/generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl b/generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl
deleted file mode 100644
index 9193ae3..0000000
--- a/generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <clc/clc.h>
-
-#define IMPL(TYPE) \
-_CLC_OVERLOAD _CLC_DEF TYPE atom_inc(global TYPE *p) { \
- return atom_add(p, (TYPE)1); \
-}
-
-IMPL(int)
-IMPL(unsigned int)
diff --git a/generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl b/generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl
deleted file mode 100644
index cfb3d80..0000000
--- a/generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <clc/clc.h>
-
-#define IMPL(TYPE) \
-_CLC_OVERLOAD _CLC_DEF TYPE atom_dec(local TYPE *p) { \
- return atom_sub(p, (TYPE)1); \
-}
-
-IMPL(int)
-IMPL(unsigned int)
diff --git a/generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl b/generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl
deleted file mode 100644
index 8ea4738..0000000
--- a/generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <clc/clc.h>
-
-#define IMPL(TYPE) \
-_CLC_OVERLOAD _CLC_DEF TYPE atom_inc(local TYPE *p) { \
- return atom_add(p, (TYPE)1); \
-}
-
-IMPL(int)
-IMPL(unsigned int)
--
2.11.0
More information about the Libclc-dev
mailing list