Skip to content

Commit 33eede7

Browse files
committed
Also support simd_view constructor from 1 element simd
Signed-off-by: Vyacheslav N Klochkov <[email protected]>
1 parent 8dfa127 commit 33eede7

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,9 @@ class simd_view<BaseTy, region1d_scalar_t<T>>
142142
simd_view(BaseTy &&Base, RegionTy Region) : BaseClass(Base, Region) {}
143143

144144
public:
145+
// Construct a complete view of a vector
146+
simd_view(BaseTy &Base) : BaseClass(Base) {}
147+
145148
operator element_type() const {
146149
const auto v = BaseClass::read();
147150
return v[0];

sycl/test/esimd/simd_view.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,16 +108,20 @@ SYCL_ESIMD_FUNCTION void test_simd_view_copy_ctor() {
108108

109109
// test construction from vector.
110110
SYCL_ESIMD_FUNCTION void test_simd_view_from_vector() {
111-
simd<int, 16> s = 0;
112-
simd_view v1 = s;
113-
simd_view v2(s);
111+
simd<int, 16> v16 = 0;
112+
simd_view sv16a = v16;
113+
simd_view sv16b(v16);
114114
// expected-error@+5 {{no matching constructor for initialization of 'simd_view}}
115115
// expected-note@sycl/ext/intel/experimental/esimd/simd_view.hpp:* 3 {{candidate }}
116116
// expected-note@sycl/ext/intel/experimental/esimd/simd.hpp:* {{candidate }}
117117
// expected-note@sycl/ext/intel/experimental/esimd/detail/simd_obj_impl.hpp:* {{candidate }}
118118
// expected-note@sycl/ext/intel/experimental/esimd/simd_view.hpp:* 2 {{candidate }}
119-
simd_view<simd<int, 16>, region_base<false, int, 1, 1, 16, 1>> v3(
119+
simd_view<simd<int, 16>, region_base<false, int, 1, 1, 16, 1>> sv16c(
120120
(simd<int, 16>()));
121+
122+
simd<int, 1> v1 = 0;
123+
simd_view sv1a = v1;
124+
simd_view sv1b(v1);
121125
}
122126

123127
// move constructor transfers the same view of the underlying data.

0 commit comments

Comments
 (0)