From 80609d0a4f85f163da2dcd9094a2f79f0c0e202a Mon Sep 17 00:00:00 2001 From: Victor Lomuller Date: Wed, 1 Apr 2020 12:40:10 +0100 Subject: [PATCH] [SYCL-PTX] Fix mangling of __spirv_AtomicCompareExchange Signed-off-by: Victor Lomuller --- .../include/spirv/atomic/atomic_cmpxchg.h | 16 ++++++------- libclc/generic/lib/atomic/atomic_cmpxchg.cl | 2 +- .../cl_khr_int64_base_atomics/atom_cmpxchg.cl | 2 +- .../generic/libspirv/atomic/atomic_cmpxchg.cl | 24 +++++++++---------- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/libclc/generic/include/spirv/atomic/atomic_cmpxchg.h b/libclc/generic/include/spirv/atomic/atomic_cmpxchg.h index 9914065ee4af7..5f7683ec4e55f 100644 --- a/libclc/generic/include/spirv/atomic/atomic_cmpxchg.h +++ b/libclc/generic/include/spirv/atomic/atomic_cmpxchg.h @@ -8,37 +8,37 @@ // TODO: Stop manually mangling this name. Need C++ namespaces to get the exact mangling. _CLC_DECL int -_Z29__spirv_AtomicCompareExchangePU3AS3iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_ii( +_Z29__spirv_AtomicCompareExchangePU3AS3iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_ii( volatile local int *, enum Scope, enum MemorySemanticsMask, enum MemorySemanticsMask, int, int); _CLC_DECL int -_Z29__spirv_AtomicCompareExchangePU3AS1iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_ii( +_Z29__spirv_AtomicCompareExchangePU3AS1iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_ii( volatile global int *, enum Scope, enum MemorySemanticsMask, enum MemorySemanticsMask, int, int); _CLC_DECL uint -_Z29__spirv_AtomicCompareExchangePU3AS3jN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_jj( +_Z29__spirv_AtomicCompareExchangePU3AS3jN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_jj( volatile local uint *, enum Scope, enum MemorySemanticsMask, enum MemorySemanticsMask, uint, uint); _CLC_DECL uint -_Z29__spirv_AtomicCompareExchangePU3AS1jN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_jj( +_Z29__spirv_AtomicCompareExchangePU3AS1jN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_jj( volatile global uint *, enum Scope, enum MemorySemanticsMask, enum MemorySemanticsMask, uint, uint); #ifdef cl_khr_int64_base_atomics _CLC_DECL long -_Z29__spirv_AtomicCompareExchangePU3AS3lN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_ll( +_Z29__spirv_AtomicCompareExchangePU3AS3lN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_ll( volatile local long *, enum Scope, enum MemorySemanticsMask, enum MemorySemanticsMask, long, long); _CLC_DECL long -_Z29__spirv_AtomicCompareExchangePU3AS1lN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_ll( +_Z29__spirv_AtomicCompareExchangePU3AS1lN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_ll( volatile global long *, enum Scope, enum MemorySemanticsMask, enum MemorySemanticsMask, long, long); _CLC_DECL unsigned long -_Z29__spirv_AtomicCompareExchangePU3AS3mN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_mm( +_Z29__spirv_AtomicCompareExchangePU3AS3mN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_mm( volatile local unsigned long *, enum Scope, enum MemorySemanticsMask, enum MemorySemanticsMask, unsigned long, unsigned long); _CLC_DECL unsigned long -_Z29__spirv_AtomicCompareExchangePU3AS1mN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_mm( +_Z29__spirv_AtomicCompareExchangePU3AS1mN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_mm( volatile global unsigned long *, enum Scope, enum MemorySemanticsMask, enum MemorySemanticsMask, unsigned long, unsigned long); #endif diff --git a/libclc/generic/lib/atomic/atomic_cmpxchg.cl b/libclc/generic/lib/atomic/atomic_cmpxchg.cl index 67bad1428846d..5fe3cf7322ca6 100644 --- a/libclc/generic/lib/atomic/atomic_cmpxchg.cl +++ b/libclc/generic/lib/atomic/atomic_cmpxchg.cl @@ -6,7 +6,7 @@ TYPE val) { \ /* TODO: Stop manually mangling this name. Need C++ namespaces to get the \ * exact mangling. */ \ - return _Z29__spirv_AtomicCompareExchangePU3##AS_MANGLED##TYPE_MANGLED##N5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_##TYPE_MANGLED##TYPE_MANGLED( \ + return _Z29__spirv_AtomicCompareExchangePU3##AS_MANGLED##TYPE_MANGLED##N5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_##TYPE_MANGLED##TYPE_MANGLED( \ p, Device, SequentiallyConsistent, SequentiallyConsistent, val, cmp); \ } diff --git a/libclc/generic/lib/cl_khr_int64_base_atomics/atom_cmpxchg.cl b/libclc/generic/lib/cl_khr_int64_base_atomics/atom_cmpxchg.cl index 2476c4cc3b70d..54d412dd3b529 100644 --- a/libclc/generic/lib/cl_khr_int64_base_atomics/atom_cmpxchg.cl +++ b/libclc/generic/lib/cl_khr_int64_base_atomics/atom_cmpxchg.cl @@ -6,7 +6,7 @@ #define IMPL(TYPE, TYPE_MANGLED, AS, AS_MANGLED) \ _CLC_OVERLOAD _CLC_DEF TYPE atom_cmpxchg(volatile AS TYPE *p, TYPE cmp, \ TYPE val) { \ - return _Z29__spirv_AtomicCompareExchangePU3##AS_MANGLED##TYPE_MANGLED##N5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_##TYPE_MANGLED##TYPE_MANGLED( \ + return _Z29__spirv_AtomicCompareExchangePU3##AS_MANGLED##TYPE_MANGLED##N5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_##TYPE_MANGLED##TYPE_MANGLED( \ p, Device, SequentiallyConsistent, SequentiallyConsistent, cmp, val); \ } diff --git a/libclc/generic/libspirv/atomic/atomic_cmpxchg.cl b/libclc/generic/libspirv/atomic/atomic_cmpxchg.cl index 795059c7f954c..68d0f7133f855 100644 --- a/libclc/generic/libspirv/atomic/atomic_cmpxchg.cl +++ b/libclc/generic/libspirv/atomic/atomic_cmpxchg.cl @@ -11,28 +11,28 @@ // TODO: Stop manually mangling this name. Need C++ namespaces to get the exact mangling. _CLC_DEF int -_Z29__spirv_AtomicCompareExchangePU3AS3iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_ii( +_Z29__spirv_AtomicCompareExchangePU3AS3iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_ii( volatile local int *p, enum Scope scope, enum MemorySemanticsMask eq, enum MemorySemanticsMask neq, int val, int cmp) { return __sync_val_compare_and_swap(p, cmp, val); } _CLC_DEF int -_Z29__spirv_AtomicCompareExchangePU3AS1iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_ii( +_Z29__spirv_AtomicCompareExchangePU3AS1iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_ii( volatile global int *p, enum Scope scope, enum MemorySemanticsMask eq, enum MemorySemanticsMask neq, int val, int cmp) { return __sync_val_compare_and_swap(p, cmp, val); } _CLC_DEF uint -_Z29__spirv_AtomicCompareExchangePU3AS3jN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_jj( +_Z29__spirv_AtomicCompareExchangePU3AS3jN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_jj( volatile local uint *p, enum Scope scope, enum MemorySemanticsMask eq, enum MemorySemanticsMask neq, uint val, uint cmp) { return __sync_val_compare_and_swap(p, cmp, val); } _CLC_DEF uint -_Z29__spirv_AtomicCompareExchangePU3AS1jN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_jj( +_Z29__spirv_AtomicCompareExchangePU3AS1jN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_jj( volatile global uint *p, enum Scope scope, enum MemorySemanticsMask eq, enum MemorySemanticsMask neq, uint val, uint cmp) { return __sync_val_compare_and_swap(p, cmp, val); @@ -40,56 +40,56 @@ _Z29__spirv_AtomicCompareExchangePU3AS1jN5__spv5Scope4FlagENS1_19MemorySemantics #ifdef cl_khr_int64_base_atomics _CLC_DEF long -_Z29__spirv_AtomicCompareExchangePU3AS3lN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_ll( +_Z29__spirv_AtomicCompareExchangePU3AS3lN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_ll( volatile local long *p, enum Scope scope, enum MemorySemanticsMask eq, enum MemorySemanticsMask neq, long val, long cmp) { return __sync_val_compare_and_swap_8(p, cmp, val); } _CLC_DEF long -_Z29__spirv_AtomicCompareExchangePU3AS1lN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_ll( +_Z29__spirv_AtomicCompareExchangePU3AS1lN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_ll( volatile global long *p, enum Scope scope, enum MemorySemanticsMask eq, enum MemorySemanticsMask neq, long val, long cmp) { return __sync_val_compare_and_swap_8(p, cmp, val); } _CLC_DEF ulong -_Z29__spirv_AtomicCompareExchangePU3AS3mN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_mm( +_Z29__spirv_AtomicCompareExchangePU3AS3mN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_mm( volatile local ulong *p, enum Scope scope, enum MemorySemanticsMask eq, enum MemorySemanticsMask neq, ulong val, ulong cmp) { return __sync_val_compare_and_swap_8(p, cmp, val); } _CLC_DEF ulong -_Z29__spirv_AtomicCompareExchangePU3AS1mN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_mm( +_Z29__spirv_AtomicCompareExchangePU3AS1mN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_mm( volatile global ulong *p, enum Scope scope, enum MemorySemanticsMask eq, enum MemorySemanticsMask neq, ulong val, ulong cmp) { return __sync_val_compare_and_swap_8(p, cmp, val); } _CLC_DEF long -_Z29__spirv_AtomicCompareExchangePU3AS3xN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_xx( +_Z29__spirv_AtomicCompareExchangePU3AS3xN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_xx( volatile local long *p, enum Scope scope, enum MemorySemanticsMask eq, enum MemorySemanticsMask neq, long val, long cmp) { return __sync_val_compare_and_swap_8(p, cmp, val); } _CLC_DEF long -_Z29__spirv_AtomicCompareExchangePU3AS1xN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_xx( +_Z29__spirv_AtomicCompareExchangePU3AS1xN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_xx( volatile global long *p, enum Scope scope, enum MemorySemanticsMask eq, enum MemorySemanticsMask neq, long val, long cmp) { return __sync_val_compare_and_swap_8(p, cmp, val); } _CLC_DEF ulong -_Z29__spirv_AtomicCompareExchangePU3AS3yN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_yy( +_Z29__spirv_AtomicCompareExchangePU3AS3yN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_yy( volatile local ulong *p, enum Scope scope, enum MemorySemanticsMask eq, enum MemorySemanticsMask neq, ulong val, ulong cmp) { return __sync_val_compare_and_swap_8(p, cmp, val); } _CLC_DEF ulong -_Z29__spirv_AtomicCompareExchangePU3AS1yN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES3_yy( +_Z29__spirv_AtomicCompareExchangePU3AS1yN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_yy( volatile global ulong *p, enum Scope scope, enum MemorySemanticsMask eq, enum MemorySemanticsMask neq, ulong val, ulong cmp) { return __sync_val_compare_and_swap_8(p, cmp, val);