@@ -38,27 +38,6 @@ __clc__get_group_scratch_float() __asm("__clc__get_group_scratch_float");
3838__local double *
3939__clc__get_group_scratch_double () __asm("__clc__get_group_scratch_double" );
4040
41- #define __CLC_DECLARE_SHUFFLES (TYPE , TYPE_MANGLED ) \
42- _CLC_DECL TYPE _Z28__spirv_SubgroupShuffleINTELI##TYPE_MANGLED##ET_S0_j( \
43- TYPE, int); \
44- _CLC_DECL TYPE \
45- _Z30__spirv_SubgroupShuffleUpINTELI##TYPE_MANGLED##ET_S0_S0_j( \
46- TYPE, TYPE, unsigned int);
47-
48- __CLC_DECLARE_SHUFFLES (char , a );
49- __CLC_DECLARE_SHUFFLES (unsigned char , h );
50- __CLC_DECLARE_SHUFFLES (short , s );
51- __CLC_DECLARE_SHUFFLES (unsigned short, t );
52- __CLC_DECLARE_SHUFFLES (int , i );
53- __CLC_DECLARE_SHUFFLES (unsigned int , j );
54- __CLC_DECLARE_SHUFFLES (half , DF16_ );
55- __CLC_DECLARE_SHUFFLES (float , f );
56- __CLC_DECLARE_SHUFFLES (long , l );
57- __CLC_DECLARE_SHUFFLES (unsigned long, m );
58- __CLC_DECLARE_SHUFFLES (double , d );
59-
60- #undef __CLC_DECLARE_SHUFFLES
61-
6241#define __CLC_APPEND (NAME , SUFFIX ) NAME##SUFFIX
6342
6443#define __CLC_ADD (x , y ) (x + y)
@@ -71,22 +50,19 @@ __CLC_DECLARE_SHUFFLES(double, d);
7150#define __CLC_LOGICAL_OR (x , y ) (x || y)
7251#define __CLC_LOGICAL_AND (x , y ) (x && y)
7352
74- #define __CLC_SUBGROUP_COLLECTIVE_BODY (OP , TYPE , TYPE_MANGLED , IDENTITY ) \
53+ #define __CLC_SUBGROUP_COLLECTIVE_BODY (OP , TYPE , IDENTITY ) \
7554 uint sg_lid = __spirv_SubgroupLocalInvocationId(); \
7655 /* Can't use XOR/butterfly shuffles; some lanes may be inactive */ \
7756 for (int o = 1 ; o < __spirv_SubgroupMaxSize (); o *= 2 ) { \
78- TYPE contribution = \
79- _Z30__spirv_SubgroupShuffleUpINTELI ##TYPE_MANGLED ##ET_S0_S0_j(x, x, \
80- o); \
57+ TYPE contribution = __spirv_SubgroupShuffleUpINTEL (x , x , o ); \
8158 bool inactive = (sg_lid < o ); \
8259 contribution = (inactive ) ? IDENTITY : contribution ; \
8360 x = OP (x , contribution ); \
8461 } \
8562 /* For Reduce, broadcast result from highest active lane */ \
8663 TYPE result ; \
8764 if (op == Reduce ) { \
88- result = _Z28__spirv_SubgroupShuffleINTELI ##TYPE_MANGLED ##ET_S0_j( \
89- x, __spirv_SubgroupSize() - 1); \
65+ result = __spirv_SubgroupShuffleINTEL (x , __spirv_SubgroupSize () - 1 ); \
9066 * carry = result ; \
9167 } /* For InclusiveScan, use results as computed */ \
9268 else if (op == InclusiveScan ) { \
@@ -95,101 +71,100 @@ __CLC_DECLARE_SHUFFLES(double, d);
9571 } /* For ExclusiveScan, shift and prepend identity */ \
9672 else if (op == ExclusiveScan ) { \
9773 * carry = x ; \
98- result = _Z30__spirv_SubgroupShuffleUpINTELI ##TYPE_MANGLED ##ET_S0_S0_j( \
99- x, x, 1); \
74+ result = __spirv_SubgroupShuffleUpINTEL (x , x , 1 ); \
10075 if (sg_lid == 0 ) { \
10176 result = IDENTITY ; \
10277 } \
10378 } \
10479 return result ;
10580
106- #define __CLC_SUBGROUP_COLLECTIVE (NAME , OP , TYPE , TYPE_MANGLED , IDENTITY ) \
81+ #define __CLC_SUBGROUP_COLLECTIVE (NAME , OP , TYPE , IDENTITY ) \
10782 _CLC_DEF _CLC_OVERLOAD _CLC_CONVERGENT TYPE __CLC_APPEND( \
10883 __clc__Subgroup, NAME)(uint op, TYPE x, TYPE * carry) { \
109- __CLC_SUBGROUP_COLLECTIVE_BODY(OP, TYPE, TYPE_MANGLED, IDENTITY) \
84+ __CLC_SUBGROUP_COLLECTIVE_BODY(OP, TYPE, IDENTITY) \
11085 }
11186
112- __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , char , a , 0 )
113- __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , uchar , h , 0 )
114- __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , short , s , 0 )
115- __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , ushort , t , 0 )
116- __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , int , i , 0 )
117- __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , uint , j , 0 )
118- __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , long , l , 0 )
119- __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , ulong , m , 0 )
120- __CLC_SUBGROUP_COLLECTIVE (FAdd , __CLC_ADD , half , DF16_ , 0 )
121- __CLC_SUBGROUP_COLLECTIVE (FAdd , __CLC_ADD , float , f , 0 )
122- __CLC_SUBGROUP_COLLECTIVE (FAdd , __CLC_ADD , double , d , 0 )
123-
124- __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , char , a , 1 )
125- __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , uchar , h , 1 )
126- __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , short , s , 1 )
127- __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , ushort , t , 1 )
128- __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , int , i , 1 )
129- __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , uint , j , 1 )
130- __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , long , l , 1 )
131- __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , ulong , m , 1 )
132- __CLC_SUBGROUP_COLLECTIVE (FMulKHR , __CLC_MUL , half , DF16_ , 1 )
133- __CLC_SUBGROUP_COLLECTIVE (FMulKHR , __CLC_MUL , float , f , 1 )
134- __CLC_SUBGROUP_COLLECTIVE (FMulKHR , __CLC_MUL , double , d , 1 )
135-
136- __CLC_SUBGROUP_COLLECTIVE (SMin , __CLC_MIN , char , a , CHAR_MAX )
137- __CLC_SUBGROUP_COLLECTIVE (UMin , __CLC_MIN , uchar , h , UCHAR_MAX )
138- __CLC_SUBGROUP_COLLECTIVE (SMin , __CLC_MIN , short , s , SHRT_MAX )
139- __CLC_SUBGROUP_COLLECTIVE (UMin , __CLC_MIN , ushort , t , USHRT_MAX )
140- __CLC_SUBGROUP_COLLECTIVE (SMin , __CLC_MIN , int , i , INT_MAX )
141- __CLC_SUBGROUP_COLLECTIVE (UMin , __CLC_MIN , uint , j , UINT_MAX )
142- __CLC_SUBGROUP_COLLECTIVE (SMin , __CLC_MIN , long , l , LONG_MAX )
143- __CLC_SUBGROUP_COLLECTIVE (UMin , __CLC_MIN , ulong , m , ULONG_MAX )
144- __CLC_SUBGROUP_COLLECTIVE (FMin , __CLC_MIN , half , DF16_ , INFINITY )
145- __CLC_SUBGROUP_COLLECTIVE (FMin , __CLC_MIN , float , f , INFINITY )
146- __CLC_SUBGROUP_COLLECTIVE (FMin , __CLC_MIN , double , d , INFINITY )
147-
148- __CLC_SUBGROUP_COLLECTIVE (SMax , __CLC_MAX , char , a , CHAR_MIN )
149- __CLC_SUBGROUP_COLLECTIVE (UMax , __CLC_MAX , uchar , h , 0 )
150- __CLC_SUBGROUP_COLLECTIVE (SMax , __CLC_MAX , short , s , SHRT_MIN )
151- __CLC_SUBGROUP_COLLECTIVE (UMax , __CLC_MAX , ushort , t , 0 )
152- __CLC_SUBGROUP_COLLECTIVE (SMax , __CLC_MAX , int , i , INT_MIN )
153- __CLC_SUBGROUP_COLLECTIVE (UMax , __CLC_MAX , uint , j , 0 )
154- __CLC_SUBGROUP_COLLECTIVE (SMax , __CLC_MAX , long , l , LONG_MIN )
155- __CLC_SUBGROUP_COLLECTIVE (UMax , __CLC_MAX , ulong , m , 0 )
156- __CLC_SUBGROUP_COLLECTIVE (FMax , __CLC_MAX , half , DF16_ , - INFINITY )
157- __CLC_SUBGROUP_COLLECTIVE (FMax , __CLC_MAX , float , f , - INFINITY )
158- __CLC_SUBGROUP_COLLECTIVE (FMax , __CLC_MAX , double , d , - INFINITY )
159-
160- __CLC_SUBGROUP_COLLECTIVE (All , __CLC_AND , bool , a , true)
161- __CLC_SUBGROUP_COLLECTIVE (Any , __CLC_OR , bool , a , false)
162-
163- __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , uchar , h , ~0 )
164- __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , uchar , h , 0 )
165- __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , uchar , h , 0 )
166- __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , char , a , ~0 )
167- __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , char , a , 0 )
168- __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , char , a , 0 )
169-
170- __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , ushort , t , ~0 )
171- __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , ushort , t , 0 )
172- __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , ushort , t , 0 )
173- __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , short , s , ~0 )
174- __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , short , s , 0 )
175- __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , short , s , 0 )
176-
177- __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , uint , j , ~0 )
178- __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , uint , j , 0 )
179- __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , uint , j , 0 )
180- __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , int , i , ~0 )
181- __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , int , i , 0 )
182- __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , int , i , 0 )
183-
184- __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , ulong , m , ~0l )
185- __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , ulong , m , 0l )
186- __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , ulong , m , 0l )
187- __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , long , l , ~0l )
188- __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , long , l , 0l )
189- __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , long , l , 0l )
190-
191- __CLC_SUBGROUP_COLLECTIVE (LogicalOrKHR , __CLC_LOGICAL_OR , bool , a , false)
192- __CLC_SUBGROUP_COLLECTIVE (LogicalAndKHR , __CLC_LOGICAL_AND , bool , a , true)
87+ __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , char , 0 )
88+ __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , uchar , 0 )
89+ __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , short , 0 )
90+ __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , ushort , 0 )
91+ __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , int , 0 )
92+ __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , uint , 0 )
93+ __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , long , 0 )
94+ __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , ulong , 0 )
95+ __CLC_SUBGROUP_COLLECTIVE (FAdd , __CLC_ADD , half , 0 )
96+ __CLC_SUBGROUP_COLLECTIVE (FAdd , __CLC_ADD , float , 0 )
97+ __CLC_SUBGROUP_COLLECTIVE (FAdd , __CLC_ADD , double , 0 )
98+
99+ __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , char , 1 )
100+ __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , uchar , 1 )
101+ __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , short , 1 )
102+ __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , ushort , 1 )
103+ __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , int , 1 )
104+ __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , uint , 1 )
105+ __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , long , 1 )
106+ __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , ulong , 1 )
107+ __CLC_SUBGROUP_COLLECTIVE (FMulKHR , __CLC_MUL , half , 1 )
108+ __CLC_SUBGROUP_COLLECTIVE (FMulKHR , __CLC_MUL , float , 1 )
109+ __CLC_SUBGROUP_COLLECTIVE (FMulKHR , __CLC_MUL , double , 1 )
110+
111+ __CLC_SUBGROUP_COLLECTIVE (SMin , __CLC_MIN , char , CHAR_MAX )
112+ __CLC_SUBGROUP_COLLECTIVE (UMin , __CLC_MIN , uchar , UCHAR_MAX )
113+ __CLC_SUBGROUP_COLLECTIVE (SMin , __CLC_MIN , short , SHRT_MAX )
114+ __CLC_SUBGROUP_COLLECTIVE (UMin , __CLC_MIN , ushort , USHRT_MAX )
115+ __CLC_SUBGROUP_COLLECTIVE (SMin , __CLC_MIN , int , INT_MAX )
116+ __CLC_SUBGROUP_COLLECTIVE (UMin , __CLC_MIN , uint , UINT_MAX )
117+ __CLC_SUBGROUP_COLLECTIVE (SMin , __CLC_MIN , long , LONG_MAX )
118+ __CLC_SUBGROUP_COLLECTIVE (UMin , __CLC_MIN , ulong , ULONG_MAX )
119+ __CLC_SUBGROUP_COLLECTIVE (FMin , __CLC_MIN , half , INFINITY )
120+ __CLC_SUBGROUP_COLLECTIVE (FMin , __CLC_MIN , float , INFINITY )
121+ __CLC_SUBGROUP_COLLECTIVE (FMin , __CLC_MIN , double , INFINITY )
122+
123+ __CLC_SUBGROUP_COLLECTIVE (SMax , __CLC_MAX , char , CHAR_MIN )
124+ __CLC_SUBGROUP_COLLECTIVE (UMax , __CLC_MAX , uchar , 0 )
125+ __CLC_SUBGROUP_COLLECTIVE (SMax , __CLC_MAX , short , SHRT_MIN )
126+ __CLC_SUBGROUP_COLLECTIVE (UMax , __CLC_MAX , ushort , 0 )
127+ __CLC_SUBGROUP_COLLECTIVE (SMax , __CLC_MAX , int , INT_MIN )
128+ __CLC_SUBGROUP_COLLECTIVE (UMax , __CLC_MAX , uint , 0 )
129+ __CLC_SUBGROUP_COLLECTIVE (SMax , __CLC_MAX , long , LONG_MIN )
130+ __CLC_SUBGROUP_COLLECTIVE (UMax , __CLC_MAX , ulong , 0 )
131+ __CLC_SUBGROUP_COLLECTIVE (FMax , __CLC_MAX , half , - INFINITY )
132+ __CLC_SUBGROUP_COLLECTIVE (FMax , __CLC_MAX , float , - INFINITY )
133+ __CLC_SUBGROUP_COLLECTIVE (FMax , __CLC_MAX , double , - INFINITY )
134+
135+ __CLC_SUBGROUP_COLLECTIVE (All , __CLC_AND , bool , true)
136+ __CLC_SUBGROUP_COLLECTIVE (Any , __CLC_OR , bool , false)
137+
138+ __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , uchar , ~0 )
139+ __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , uchar , 0 )
140+ __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , uchar , 0 )
141+ __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , char , ~0 )
142+ __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , char , 0 )
143+ __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , char , 0 )
144+
145+ __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , ushort , ~0 )
146+ __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , ushort , 0 )
147+ __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , ushort , 0 )
148+ __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , short , ~0 )
149+ __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , short , 0 )
150+ __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , short , 0 )
151+
152+ __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , uint , ~0 )
153+ __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , uint , 0 )
154+ __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , uint , 0 )
155+ __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , int , ~0 )
156+ __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , int , 0 )
157+ __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , int , 0 )
158+
159+ __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , ulong , ~0l )
160+ __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , ulong , 0l )
161+ __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , ulong , 0l )
162+ __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , long , ~0l )
163+ __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , long , 0l )
164+ __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , long , 0l )
165+
166+ __CLC_SUBGROUP_COLLECTIVE (LogicalOrKHR , __CLC_LOGICAL_OR , bool , false)
167+ __CLC_SUBGROUP_COLLECTIVE (LogicalAndKHR , __CLC_LOGICAL_AND , bool , true)
193168
194169#undef __CLC_SUBGROUP_COLLECTIVE_BODY
195170#undef __CLC_SUBGROUP_COLLECTIVE
@@ -380,10 +355,9 @@ long __clc__3d_to_linear_local_id(ulong3 id) {
380355
381356#define __CLC_GROUP_BROADCAST (TYPE , TYPE_MANGLED ) \
382357 _CLC_DEF _CLC_OVERLOAD _CLC_CONVERGENT TYPE __spirv_GroupBroadcast( \
383- int scope, TYPE x, ulong local_id) { \
358+ int scope, TYPE x, ulong local_id) { \
384359 if (scope == Subgroup) { \
385- return _Z28__spirv_SubgroupShuffleINTELI##TYPE_MANGLED##ET_S0_j( \
386- x, local_id); \
360+ return __spirv_SubgroupShuffleINTEL(x, local_id); \
387361 } \
388362 bool source = (__spirv_LocalInvocationIndex() == local_id); \
389363 __local TYPE *scratch = __CLC_APPEND(__clc__get_group_scratch_, TYPE)(); \
@@ -396,17 +370,17 @@ long __clc__3d_to_linear_local_id(ulong3 id) {
396370 return result; \
397371 } \
398372 _CLC_DEF _CLC_OVERLOAD _CLC_CONVERGENT TYPE __spirv_GroupBroadcast( \
399- int scope, TYPE x, ulong2 local_id) { \
373+ int scope, TYPE x, ulong2 local_id) { \
400374 ulong linear_local_id = __clc__2d_to_linear_local_id(local_id); \
401375 return __spirv_GroupBroadcast(scope, x, linear_local_id); \
402376 } \
403377 _CLC_DEF _CLC_OVERLOAD _CLC_CONVERGENT TYPE __spirv_GroupBroadcast( \
404- int scope, TYPE x, ulong3 local_id) { \
378+ int scope, TYPE x, ulong3 local_id) { \
405379 ulong linear_local_id = __clc__3d_to_linear_local_id(local_id); \
406380 return __spirv_GroupBroadcast(scope, x, linear_local_id); \
407381 } \
408382 _CLC_DEF _CLC_OVERLOAD _CLC_CONVERGENT TYPE __spirv_GroupBroadcast( \
409- int scope, TYPE x, uint local_id) { \
383+ int scope, TYPE x, uint local_id) { \
410384 return __spirv_GroupBroadcast(scope, x, (ulong)local_id); \
411385 }
412386__CLC_GROUP_BROADCAST (char , a );
0 commit comments