@@ -286,12 +286,16 @@ template <typename BaseTy, typename RegionTy> class simd_view_impl {
286286
287287 // / @{
288288 // / Assignment operators.
289- Derived &operator =(const Derived &Other) { return write (Other.read ()); }
289+ simd_view_impl &operator =(const simd_view_impl &Other) {
290+ return write (Other.read ());
291+ }
290292
291293 Derived &operator =(const value_type &Val) { return write (Val); }
292294
293295 // / Move assignment operator.
294- Derived &operator =(Derived &&Other) { return write (Other.read ()); }
296+ simd_view_impl &operator =(simd_view_impl &&Other) {
297+ return write (Other.read ());
298+ }
295299
296300 template <class T , int N, class SimdT ,
297301 class = std::enable_if_t <(is_simd_type_v<SimdT> ==
@@ -342,7 +346,7 @@ template <typename BaseTy, typename RegionTy> class simd_view_impl {
342346 template <typename T = Derived,
343347 typename = sycl::detail::enable_if_t <T::is2D()>>
344348 auto row (int i) {
345- return select<1 , 0 , getSizeX (), 1 >(i, 0 )
349+ return select<1 , 1 , getSizeX (), 1 >(i, 0 )
346350 .template bit_cast_view <element_type>();
347351 }
348352
@@ -351,7 +355,7 @@ template <typename BaseTy, typename RegionTy> class simd_view_impl {
351355 template <typename T = Derived,
352356 typename = sycl::detail::enable_if_t <T::is2D()>>
353357 auto column (int i) {
354- return select<getSizeY (), 1 , 1 , 0 >(0 , i);
358+ return select<getSizeY (), 1 , 1 , 1 >(0 , i);
355359 }
356360
357361 // / Read a single element from a 1D region, by value only.
@@ -375,15 +379,15 @@ template <typename BaseTy, typename RegionTy> class simd_view_impl {
375379 template <typename T = Derived,
376380 typename = sycl::detail::enable_if_t <T::is1D()>>
377381 auto operator [](int i) {
378- return select<1 , 0 >(i);
382+ return select<1 , 1 >(i);
379383 }
380384
381385 // / Return a writeable view of a single element.
382386 template <typename T = Derived,
383387 typename = sycl::detail::enable_if_t <T::is1D()>>
384388 __SYCL_DEPRECATED (" use operator[] form." )
385389 auto operator()(int i) {
386- return select<1 , 0 >(i);
390+ return select<1 , 1 >(i);
387391 }
388392
389393 // / \name Replicate
@@ -402,7 +406,7 @@ template <typename BaseTy, typename RegionTy> class simd_view_impl {
402406 // / \return replicated simd instance.
403407 template <int Rep, int W>
404408 get_simd_t <element_type, Rep * W> replicate (uint16_t OffsetX) {
405- return replicate<Rep, 0 , W>(0 , OffsetX);
409+ return replicate<Rep, 1 , W>(0 , OffsetX);
406410 }
407411
408412 // / \tparam Rep is number of times region has to be replicated.
@@ -413,7 +417,7 @@ template <typename BaseTy, typename RegionTy> class simd_view_impl {
413417 template <int Rep, int W>
414418 get_simd_t <element_type, Rep * W> replicate (uint16_t OffsetY,
415419 uint16_t OffsetX) {
416- return replicate<Rep, 0 , W>(OffsetY, OffsetX);
420+ return replicate<Rep, 1 , W>(OffsetY, OffsetX);
417421 }
418422
419423 // / \tparam Rep is number of times region has to be replicated.
0 commit comments