@@ -37,7 +37,13 @@ __AMDGCN_CLC_SUBGROUP_SUB_I32(unsigned short, t);
37
37
38
38
#ifdef cl_khr_fp16
39
39
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
40
- __AMDGCN_CLC_SUBGROUP_SUB_I32 (half , DF16_ );
40
+ _CLC_DEF half _Z28__spirv_SubgroupShuffleINTELIDF16_ET_S0_j (
41
+ half Data , unsigned int InvocationId ) {
42
+ unsigned short tmp = as_ushort (Data );
43
+ tmp = (unsigned short )_Z28__spirv_SubgroupShuffleINTELIiET_S0_j ((int )tmp ,
44
+ InvocationId );
45
+ return as_half (tmp );
46
+ }
41
47
#endif // cl_khr_fp16
42
48
43
49
#undef __AMDGCN_CLC_SUBGROUP_SUB_I32
@@ -170,7 +176,13 @@ __AMDGCN_CLC_SUBGROUP_XOR_SUB_I32(unsigned char, h);
170
176
__AMDGCN_CLC_SUBGROUP_XOR_SUB_I32 (short , s );
171
177
__AMDGCN_CLC_SUBGROUP_XOR_SUB_I32 (unsigned short, t );
172
178
#ifdef cl_khr_fp16
173
- __AMDGCN_CLC_SUBGROUP_XOR_SUB_I32 (half , DF16_ );
179
+ _CLC_DEF half _Z31__spirv_SubgroupShuffleXorINTELIDF16_ET_S0_j (
180
+ half Data , unsigned int InvocationId ) {
181
+ unsigned short tmp = as_ushort (Data );
182
+ tmp = (unsigned short )_Z31__spirv_SubgroupShuffleXorINTELIiET_S0_j (
183
+ (int )tmp , InvocationId );
184
+ return as_half (tmp );
185
+ }
174
186
#endif // cl_khr_fp16
175
187
#undef __AMDGCN_CLC_SUBGROUP_XOR_SUB_I32
176
188
@@ -321,7 +333,14 @@ __AMDGCN_CLC_SUBGROUP_UP_SUB_I32(short, s);
321
333
__AMDGCN_CLC_SUBGROUP_UP_SUB_I32 (unsigned short, t );
322
334
// half
323
335
#ifdef cl_khr_fp16
324
- __AMDGCN_CLC_SUBGROUP_UP_SUB_I32 (half , DF16_ );
336
+ _CLC_DEF half _Z30__spirv_SubgroupShuffleUpINTELIDF16_ET_S0_S0_j (
337
+ half previous , half current , unsigned int delta ) {
338
+ unsigned short tmpP = as_ushort (previous );
339
+ unsigned short tmpC = as_ushort (current );
340
+ tmpC = (unsigned short )_Z30__spirv_SubgroupShuffleUpINTELIiET_S0_S0_j (
341
+ (int )tmpP , (int )tmpC , delta );
342
+ return as_half (tmpC );
343
+ }
325
344
#endif // cl_khr_fp16
326
345
#undef __AMDGCN_CLC_SUBGROUP_UP_SUB_I32
327
346
@@ -474,7 +493,14 @@ __AMDGCN_CLC_SUBGROUP_DOWN_TO_I32(short, s);
474
493
__AMDGCN_CLC_SUBGROUP_DOWN_TO_I32 (unsigned short, t );
475
494
// half
476
495
#ifdef cl_khr_fp16
477
- __AMDGCN_CLC_SUBGROUP_DOWN_TO_I32 (half , DF16_ );
496
+ _CLC_DEF half _Z32__spirv_SubgroupShuffleDownINTELIDF16_ET_S0_S0_j (
497
+ half current , half next , unsigned int delta ) {
498
+ unsigned short tmpC = as_ushort (current );
499
+ unsigned short tmpN = as_ushort (next );
500
+ tmpC = (unsigned short )_Z32__spirv_SubgroupShuffleDownINTELIiET_S0_S0_j (
501
+ (int )tmpC , (int )tmpN , delta );
502
+ return as_half (tmpC );
503
+ }
478
504
#endif // cl_khr_fp16
479
505
#undef __AMDGCN_CLC_SUBGROUP_DOWN_TO_I32
480
506
0 commit comments