@@ -42,7 +42,7 @@ struct BitwiseCountFunctor
4242 // constant value, if constant
4343 // constexpr resT constant_value = resT{};
4444 // is function defined for sycl::vec
45- using supports_vec = typename std::true_type ;
45+ using supports_vec = typename std::false_type ;
4646 // do both argT and resT support subgroup store/load operation
4747 using supports_sg_loadstore = typename std::true_type;
4848
@@ -55,36 +55,5 @@ struct BitwiseCountFunctor
5555 return sycl::popcount (sycl::abs (x));
5656 }
5757 }
58-
59- template <int vec_sz>
60- sycl::vec<resT, vec_sz> operator ()(const sycl::vec<argT, vec_sz> &x) const
61- {
62- if constexpr (std::is_unsigned_v<argT>) {
63- auto const &res_vec = sycl::popcount (x);
64-
65- using deducedT = typename std::remove_cv_t <
66- std::remove_reference_t <decltype (res_vec)>>::element_type;
67-
68- if constexpr (std::is_same_v<resT, deducedT>) {
69- return res_vec;
70- }
71- else {
72- return tu_ns::vec_cast<std::uint8_t , deducedT, vec_sz>(res_vec);
73- }
74- }
75- else {
76- auto const &res_vec = sycl::popcount (sycl::abs (x));
77-
78- using deducedT = typename std::remove_cv_t <
79- std::remove_reference_t <decltype (res_vec)>>::element_type;
80-
81- if constexpr (std::is_same_v<resT, deducedT>) {
82- return res_vec;
83- }
84- else {
85- return tu_ns::vec_cast<std::uint8_t , deducedT, vec_sz>(res_vec);
86- }
87- }
88- }
8958};
9059} // namespace dpnp::kernels::bitwise_count
0 commit comments