diff --git a/libdevice/nativecpu_utils.cpp b/libdevice/nativecpu_utils.cpp index 1b040b2d245ff..639e4660ebc2d 100644 --- a/libdevice/nativecpu_utils.cpp +++ b/libdevice/nativecpu_utils.cpp @@ -95,10 +95,14 @@ DefGenericCastToPtrExpl(ToGlobal, OCL_GLOBAL); DefSubgroupBlockINTEL_vt(Type, v8) namespace ncpu_types { +template +using native_vector_t = + sycl::detail::ConvertToOpenCLType_t>; + template struct vtypes { - using v2 = typename sycl::vec::vector_t; - using v4 = typename sycl::vec::vector_t; - using v8 = typename sycl::vec::vector_t; + using v2 = native_vector_t; + using v4 = native_vector_t; + using v8 = native_vector_t; }; } // namespace ncpu_types @@ -224,7 +228,7 @@ DefineLogicalGroupOp(bool, bool, i1); } \ \ DEVICE_EXTERNAL Type __spirv_GroupBroadcast( \ - int32_t g, Type v, sycl::vec::vector_t l) noexcept { \ + int32_t g, Type v, ncpu_types::native_vector_t l) noexcept { \ if (__spv::Scope::Flag::Subgroup == g) \ return __mux_sub_group_broadcast_##Sfx(v, l[0]); \ else \ @@ -232,7 +236,7 @@ DefineLogicalGroupOp(bool, bool, i1); } \ \ DEVICE_EXTERNAL Type __spirv_GroupBroadcast( \ - int32_t g, Type v, sycl::vec::vector_t l) noexcept { \ + int32_t g, Type v, ncpu_types::native_vector_t l) noexcept { \ if (__spv::Scope::Flag::Subgroup == g) \ return __mux_sub_group_broadcast_##Sfx(v, l[0]); \ else \ @@ -310,8 +314,8 @@ DefShuffleINTEL_All(float, f32, float); DefShuffleINTEL_All(_Float16, f16, _Float16); #define DefineShuffleVec(T, N, Sfx, MuxType) \ - using vt##T##N = sycl::vec::vector_t; \ - using vt##MuxType##N = sycl::vec::vector_t; \ + using vt##T##N = ncpu_types::native_vector_t; \ + using vt##MuxType##N = ncpu_types::native_vector_t; \ DefShuffleINTEL_All(vt##T##N, v##N##Sfx, vt##MuxType##N) #define DefineShuffleVec2to16(Type, Sfx, MuxType) \