@@ -426,18 +426,16 @@ __CLC_GROUP_COLLECTIVE(BitwiseOrKHR, __CLC_OR, long, 0l)
426426__CLC_GROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , long , 0l )
427427
428428// half requires additional mangled entry points
429- _CLC_DEF _CLC_CONVERGENT half _Z17__spirv_GroupFAddjjDF16_ (uint scope , uint op ,
430- half x ) {
431- return __spirv_GroupFAdd (scope , op , x );
432- }
433- _CLC_DEF _CLC_CONVERGENT half _Z17__spirv_GroupFMinjjDF16_ (uint scope , uint op ,
434- half x ) {
435- return __spirv_GroupFMin (scope , op , x );
436- }
437- _CLC_DEF _CLC_CONVERGENT half _Z17__spirv_GroupFMaxjjDF16_ (uint scope , uint op ,
438- half x ) {
439- return __spirv_GroupFMax (scope , op , x );
440- }
429+ #define __CLC_GROUP_COLLECTIVE__DF16 (MANGLED_NAME , SPIRV_DISPATCH ) \
430+ _CLC_DEF _CLC_CONVERGENT half MANGLED_NAME(uint scope, uint op, half x) { \
431+ return SPIRV_DISPATCH(scope, op, x); \
432+ }
433+ __CLC_GROUP_COLLECTIVE__DF16 (_Z17__spirv_GroupFAddjjDF16_ , __spirv_GroupFAdd )
434+ __CLC_GROUP_COLLECTIVE__DF16 (_Z17__spirv_GroupFMinjjDF16_ , __spirv_GroupFMin )
435+ __CLC_GROUP_COLLECTIVE__DF16 (_Z17__spirv_GroupFMaxjjDF16_ , __spirv_GroupFMax )
436+ __CLC_GROUP_COLLECTIVE__DF16 (_Z20__spirv_GroupFMulKHRjjDF16_ ,
437+ __spirv_GroupFMulKHR )
438+ #undef __CLC_GROUP_COLLECTIVE__DF16
441439
442440#undef __CLC_GROUP_COLLECTIVE_4
443441#undef __CLC_GROUP_COLLECTIVE_5
0 commit comments