[libclc] libclc: Add uintptr_t overloads of atomic_fetch_add and sub (PR #185263)
Wenju He via cfe-commits
cfe-commits at lists.llvm.org
Sun Mar 8 01:05:07 PST 2026
================
@@ -17,3 +17,37 @@
#define __CLC_BODY <atomic_def.inc>
#include <clc/math/gentype.inc>
+
+#if defined(__opencl_c_atomic_order_seq_cst) && \
+ defined(__opencl_c_atomic_scope_device)
+
+_CLC_OVERLOAD _CLC_DEF uintptr_t
+atomic_fetch_add(volatile __local atomic_uintptr_t *p, ptrdiff_t v) {
+ return __opencl_atomic_fetch_add(p, v, memory_order_seq_cst,
+ memory_scope_device);
+}
+
+_CLC_OVERLOAD _CLC_DEF uintptr_t
+atomic_fetch_add(volatile __global atomic_uintptr_t *p, ptrdiff_t v) {
+ return __opencl_atomic_fetch_add(p, v, memory_order_seq_cst,
+ memory_scope_device);
+}
+
+_CLC_OVERLOAD _CLC_DEF uintptr_t
+atomic_fetch_add(volatile __private atomic_uintptr_t *p, ptrdiff_t v) {
----------------
wenju-he wrote:
there is no private address space atomic builtin in spec?
https://github.com/llvm/llvm-project/pull/185263
More information about the cfe-commits
mailing list