Skip to content

Commit 422d2b5

Browse files
authored
[LIBCLC] Fix atomic stores for NVPTX (#7780)
Fix for mis-mangled atomic store operations.
1 parent 84693b6 commit 422d2b5

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

libclc/ptx-nvidiacl/libspirv/atomic/atomic_store.cl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ _CLC_OVERLOAD _CLC_DECL void __spirv_MemoryBarrier(unsigned int, unsigned int);
3535
}
3636

3737
#define __CLC_NVVM_ATOMIC_STORE_IMPL( \
38-
TYPE, TYPE_MANGLED, TYPE_NV, TYPE_MANGLED_NV, ADDR_SPACE, \
38+
TYPE, TYPE_MANGLED, SUBSTITUTION, TYPE_NV, TYPE_MANGLED_NV, ADDR_SPACE, \
3939
POINTER_AND_ADDR_SPACE_MANGLED, ADDR_SPACE_NV) \
4040
__attribute__((always_inline)) _CLC_DECL void _Z19__spirv_\
4141
AtomicStore##POINTER_AND_ADDR_SPACE_MANGLED##TYPE_MANGLED##N5__spv5Scope4FlagEN\
42-
S1_19MemorySemanticsMask4FlagE##TYPE_MANGLED( \
42+
S##SUBSTITUTION##_19MemorySemanticsMask4FlagE##TYPE_MANGLED( \
4343
volatile ADDR_SPACE TYPE *pointer, enum Scope scope, \
4444
enum MemorySemanticsMask semantics, TYPE value) { \
4545
/* Semantics mask may include memory order, storage class and other info \
@@ -74,12 +74,12 @@ Memory order is stored in the lowest 5 bits */ \
7474
}
7575

7676
#define __CLC_NVVM_ATOMIC_STORE(TYPE, TYPE_MANGLED, TYPE_NV, TYPE_MANGLED_NV) \
77-
__CLC_NVVM_ATOMIC_STORE_IMPL(TYPE, TYPE_MANGLED, TYPE_NV, TYPE_MANGLED_NV, \
77+
__CLC_NVVM_ATOMIC_STORE_IMPL(TYPE, TYPE_MANGLED, 1, TYPE_NV, TYPE_MANGLED_NV,\
7878
__global, PU3AS1, _global_) \
79-
__CLC_NVVM_ATOMIC_STORE_IMPL(TYPE, TYPE_MANGLED, TYPE_NV, TYPE_MANGLED_NV, \
79+
__CLC_NVVM_ATOMIC_STORE_IMPL(TYPE, TYPE_MANGLED, 1, TYPE_NV, TYPE_MANGLED_NV,\
8080
__local, PU3AS3, _shared_) \
81-
__CLC_NVVM_ATOMIC_STORE_IMPL(TYPE, TYPE_MANGLED, TYPE_NV, TYPE_MANGLED_NV, , \
82-
P, _gen_)
81+
__CLC_NVVM_ATOMIC_STORE_IMPL(TYPE, TYPE_MANGLED, 0, TYPE_NV, TYPE_MANGLED_NV,\
82+
, P, _gen_)
8383

8484
__CLC_NVVM_ATOMIC_STORE(int, i, int, i)
8585
__CLC_NVVM_ATOMIC_STORE(uint, j, int, i)

0 commit comments

Comments
 (0)