Skip to content

Commit ef6e054

Browse files
[NFC][ESIMD] Simplify simd_view template specialization for len=1 (#4334)
1 parent a18b845 commit ef6e054

File tree

3 files changed

+7
-8
lines changed

3 files changed

+7
-8
lines changed

sycl/include/sycl/ext/intel/experimental/esimd/detail/region.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,7 @@ template <typename T, int SizeY, int StrideY, int SizeX, int StrideX>
5757
using region2d_t = region_base<true, T, SizeY, StrideY, SizeX, StrideX>;
5858

5959
// A region with a single element.
60-
template <bool Is2D, typename T, int StrideY, int StrideX>
61-
using region_base_1 = region_base<Is2D, T, 1, StrideY, 1, StrideX>;
60+
template <typename T> using region_base_1 = region_base<false, T, 1, 0, 1, 0>;
6261

6362
// simd_view forward declaration.
6463
template <typename BaseTy, typename RegionTy> class simd_view;

sycl/include/sycl/ext/intel/experimental/esimd/simd_view.hpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,14 +101,14 @@ class simd_view : public detail::simd_view_impl<BaseTy, RegionTy> {
101101
/// bool b = v[0] > v[1] && v[2] < 42;
102102
///
103103
/// \ingroup sycl_esimd
104-
template <typename BaseTy, bool Is2D, typename T, int StrideY, int StrideX>
105-
class simd_view<BaseTy, region_base_1<Is2D, T, StrideY, StrideX>>
106-
: public detail::simd_view_impl<BaseTy,
107-
region_base_1<Is2D, T, StrideY, StrideX>> {
104+
template <typename BaseTy>
105+
class simd_view<BaseTy, region_base_1<typename BaseTy::element_type>>
106+
: public detail::simd_view_impl<
107+
BaseTy, region_base_1<typename BaseTy::element_type>> {
108108
template <typename, int> friend class simd;
109109

110110
public:
111-
using RegionTy = region_base_1<Is2D, T, StrideY, StrideX>;
111+
using RegionTy = region_base_1<typename BaseTy::element_type>;
112112
using BaseClass = detail::simd_view_impl<BaseTy, RegionTy>;
113113
using ShapeTy = typename shape_type<RegionTy>::type;
114114
static constexpr int length = ShapeTy::Size_x * ShapeTy::Size_y;

sycl/test/esimd/esimd-util-compiler-eval.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ static_assert(log2<1024 * 1024>() == 20, "");
1919

2020
using BaseTy = simd<float, 4>;
2121
using RegionTy = region1d_t<float, 2, 1>;
22-
using RegionTy1 = region_base_1<false, float, 1, 1>;
22+
using RegionTy1 = region_base_1<float>;
2323
static_assert(is_simd_view_v<simd_view_impl<BaseTy, RegionTy>>::value, "");
2424
static_assert(is_simd_view_v<simd_view<BaseTy, RegionTy>>::value, "");
2525
static_assert(is_simd_view_v<simd_view<BaseTy, RegionTy1>>::value, "");

0 commit comments

Comments
 (0)