Skip to content

Commit 18a2354

Browse files
authored
[SYCL-PTX] Fix mangling of __spirv_AtomicCompareExchange (#1446)
Signed-off-by: Victor Lomuller <[email protected]>
1 parent 4ff4b5c commit 18a2354

File tree

4 files changed

+22
-22
lines changed

4 files changed

+22
-22
lines changed

libclc/generic/include/spirv/atomic/atomic_cmpxchg.h

+8-8
Original file line numberDiff line numberDiff line change
@@ -8,37 +8,37 @@
88

99
// TODO: Stop manually mangling this name. Need C++ namespaces to get the exact mangling.
1010
_CLC_DECL int
11-
_Z29__spirv_AtomicCompareExchangePU3AS3iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_ii(
11+
_Z29__spirv_AtomicCompareExchangePU3AS3iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_ii(
1212
volatile local int *, enum Scope, enum MemorySemanticsMask,
1313
enum MemorySemanticsMask, int, int);
1414
_CLC_DECL int
15-
_Z29__spirv_AtomicCompareExchangePU3AS1iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_ii(
15+
_Z29__spirv_AtomicCompareExchangePU3AS1iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_ii(
1616
volatile global int *, enum Scope, enum MemorySemanticsMask,
1717
enum MemorySemanticsMask, int, int);
1818
_CLC_DECL uint
19-
_Z29__spirv_AtomicCompareExchangePU3AS3jN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_jj(
19+
_Z29__spirv_AtomicCompareExchangePU3AS3jN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_jj(
2020
volatile local uint *, enum Scope, enum MemorySemanticsMask,
2121
enum MemorySemanticsMask, uint, uint);
2222
_CLC_DECL uint
23-
_Z29__spirv_AtomicCompareExchangePU3AS1jN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_jj(
23+
_Z29__spirv_AtomicCompareExchangePU3AS1jN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_jj(
2424
volatile global uint *, enum Scope, enum MemorySemanticsMask,
2525
enum MemorySemanticsMask, uint, uint);
2626

2727
#ifdef cl_khr_int64_base_atomics
2828
_CLC_DECL long
29-
_Z29__spirv_AtomicCompareExchangePU3AS3lN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_ll(
29+
_Z29__spirv_AtomicCompareExchangePU3AS3lN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_ll(
3030
volatile local long *, enum Scope, enum MemorySemanticsMask,
3131
enum MemorySemanticsMask, long, long);
3232
_CLC_DECL long
33-
_Z29__spirv_AtomicCompareExchangePU3AS1lN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_ll(
33+
_Z29__spirv_AtomicCompareExchangePU3AS1lN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_ll(
3434
volatile global long *, enum Scope, enum MemorySemanticsMask,
3535
enum MemorySemanticsMask, long, long);
3636
_CLC_DECL unsigned long
37-
_Z29__spirv_AtomicCompareExchangePU3AS3mN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_mm(
37+
_Z29__spirv_AtomicCompareExchangePU3AS3mN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_mm(
3838
volatile local unsigned long *, enum Scope, enum MemorySemanticsMask,
3939
enum MemorySemanticsMask, unsigned long, unsigned long);
4040
_CLC_DECL unsigned long
41-
_Z29__spirv_AtomicCompareExchangePU3AS1mN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_mm(
41+
_Z29__spirv_AtomicCompareExchangePU3AS1mN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_mm(
4242
volatile global unsigned long *, enum Scope, enum MemorySemanticsMask,
4343
enum MemorySemanticsMask, unsigned long, unsigned long);
4444
#endif

libclc/generic/lib/atomic/atomic_cmpxchg.cl

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
TYPE val) { \
77
/* TODO: Stop manually mangling this name. Need C++ namespaces to get the \
88
* exact mangling. */ \
9-
return _Z29__spirv_AtomicCompareExchangePU3##AS_MANGLED##TYPE_MANGLED##N5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_##TYPE_MANGLED##TYPE_MANGLED( \
9+
return _Z29__spirv_AtomicCompareExchangePU3##AS_MANGLED##TYPE_MANGLED##N5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_##TYPE_MANGLED##TYPE_MANGLED( \
1010
p, Device, SequentiallyConsistent, SequentiallyConsistent, val, cmp); \
1111
}
1212

libclc/generic/lib/cl_khr_int64_base_atomics/atom_cmpxchg.cl

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#define IMPL(TYPE, TYPE_MANGLED, AS, AS_MANGLED) \
77
_CLC_OVERLOAD _CLC_DEF TYPE atom_cmpxchg(volatile AS TYPE *p, TYPE cmp, \
88
TYPE val) { \
9-
return _Z29__spirv_AtomicCompareExchangePU3##AS_MANGLED##TYPE_MANGLED##N5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_##TYPE_MANGLED##TYPE_MANGLED( \
9+
return _Z29__spirv_AtomicCompareExchangePU3##AS_MANGLED##TYPE_MANGLED##N5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_##TYPE_MANGLED##TYPE_MANGLED( \
1010
p, Device, SequentiallyConsistent, SequentiallyConsistent, cmp, val); \
1111
}
1212

libclc/generic/libspirv/atomic/atomic_cmpxchg.cl

+12-12
Original file line numberDiff line numberDiff line change
@@ -11,85 +11,85 @@
1111
// TODO: Stop manually mangling this name. Need C++ namespaces to get the exact mangling.
1212

1313
_CLC_DEF int
14-
_Z29__spirv_AtomicCompareExchangePU3AS3iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_ii(
14+
_Z29__spirv_AtomicCompareExchangePU3AS3iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_ii(
1515
volatile local int *p, enum Scope scope, enum MemorySemanticsMask eq,
1616
enum MemorySemanticsMask neq, int val, int cmp) {
1717
return __sync_val_compare_and_swap(p, cmp, val);
1818
}
1919

2020
_CLC_DEF int
21-
_Z29__spirv_AtomicCompareExchangePU3AS1iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_ii(
21+
_Z29__spirv_AtomicCompareExchangePU3AS1iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_ii(
2222
volatile global int *p, enum Scope scope, enum MemorySemanticsMask eq,
2323
enum MemorySemanticsMask neq, int val, int cmp) {
2424
return __sync_val_compare_and_swap(p, cmp, val);
2525
}
2626

2727
_CLC_DEF uint
28-
_Z29__spirv_AtomicCompareExchangePU3AS3jN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_jj(
28+
_Z29__spirv_AtomicCompareExchangePU3AS3jN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_jj(
2929
volatile local uint *p, enum Scope scope, enum MemorySemanticsMask eq,
3030
enum MemorySemanticsMask neq, uint val, uint cmp) {
3131
return __sync_val_compare_and_swap(p, cmp, val);
3232
}
3333

3434
_CLC_DEF uint
35-
_Z29__spirv_AtomicCompareExchangePU3AS1jN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_jj(
35+
_Z29__spirv_AtomicCompareExchangePU3AS1jN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_jj(
3636
volatile global uint *p, enum Scope scope, enum MemorySemanticsMask eq,
3737
enum MemorySemanticsMask neq, uint val, uint cmp) {
3838
return __sync_val_compare_and_swap(p, cmp, val);
3939
}
4040

4141
#ifdef cl_khr_int64_base_atomics
4242
_CLC_DEF long
43-
_Z29__spirv_AtomicCompareExchangePU3AS3lN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_ll(
43+
_Z29__spirv_AtomicCompareExchangePU3AS3lN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_ll(
4444
volatile local long *p, enum Scope scope, enum MemorySemanticsMask eq,
4545
enum MemorySemanticsMask neq, long val, long cmp) {
4646
return __sync_val_compare_and_swap_8(p, cmp, val);
4747
}
4848

4949
_CLC_DEF long
50-
_Z29__spirv_AtomicCompareExchangePU3AS1lN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_ll(
50+
_Z29__spirv_AtomicCompareExchangePU3AS1lN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_ll(
5151
volatile global long *p, enum Scope scope, enum MemorySemanticsMask eq,
5252
enum MemorySemanticsMask neq, long val, long cmp) {
5353
return __sync_val_compare_and_swap_8(p, cmp, val);
5454
}
5555

5656
_CLC_DEF ulong
57-
_Z29__spirv_AtomicCompareExchangePU3AS3mN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_mm(
57+
_Z29__spirv_AtomicCompareExchangePU3AS3mN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_mm(
5858
volatile local ulong *p, enum Scope scope, enum MemorySemanticsMask eq,
5959
enum MemorySemanticsMask neq, ulong val, ulong cmp) {
6060
return __sync_val_compare_and_swap_8(p, cmp, val);
6161
}
6262

6363
_CLC_DEF ulong
64-
_Z29__spirv_AtomicCompareExchangePU3AS1mN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_mm(
64+
_Z29__spirv_AtomicCompareExchangePU3AS1mN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_mm(
6565
volatile global ulong *p, enum Scope scope, enum MemorySemanticsMask eq,
6666
enum MemorySemanticsMask neq, ulong val, ulong cmp) {
6767
return __sync_val_compare_and_swap_8(p, cmp, val);
6868
}
6969

7070
_CLC_DEF long
71-
_Z29__spirv_AtomicCompareExchangePU3AS3xN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_xx(
71+
_Z29__spirv_AtomicCompareExchangePU3AS3xN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_xx(
7272
volatile local long *p, enum Scope scope, enum MemorySemanticsMask eq,
7373
enum MemorySemanticsMask neq, long val, long cmp) {
7474
return __sync_val_compare_and_swap_8(p, cmp, val);
7575
}
7676

7777
_CLC_DEF long
78-
_Z29__spirv_AtomicCompareExchangePU3AS1xN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_xx(
78+
_Z29__spirv_AtomicCompareExchangePU3AS1xN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_xx(
7979
volatile global long *p, enum Scope scope, enum MemorySemanticsMask eq,
8080
enum MemorySemanticsMask neq, long val, long cmp) {
8181
return __sync_val_compare_and_swap_8(p, cmp, val);
8282
}
8383

8484
_CLC_DEF ulong
85-
_Z29__spirv_AtomicCompareExchangePU3AS3yN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_yy(
85+
_Z29__spirv_AtomicCompareExchangePU3AS3yN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_yy(
8686
volatile local ulong *p, enum Scope scope, enum MemorySemanticsMask eq,
8787
enum MemorySemanticsMask neq, ulong val, ulong cmp) {
8888
return __sync_val_compare_and_swap_8(p, cmp, val);
8989
}
9090

9191
_CLC_DEF ulong
92-
_Z29__spirv_AtomicCompareExchangePU3AS1yN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_yy(
92+
_Z29__spirv_AtomicCompareExchangePU3AS1yN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_yy(
9393
volatile global ulong *p, enum Scope scope, enum MemorySemanticsMask eq,
9494
enum MemorySemanticsMask neq, ulong val, ulong cmp) {
9595
return __sync_val_compare_and_swap_8(p, cmp, val);

0 commit comments

Comments
 (0)