Skip to content

Commit ce59038

Browse files
committed
Use simd<...>(val) instead of simd<...>{val} to avoid costly init list ctor.
Signed-off-by: kbobrovs <[email protected]>
1 parent b01eb88 commit ce59038

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -693,17 +693,17 @@ esimd_max(simd<T, SZ> src0, simd<T, SZ> src1, int flag = saturation_off) {
693693
if constexpr (std::is_floating_point<T>::value) {
694694
auto Result = __esimd_fmax<T, SZ>(src0.data(), src1.data());
695695
Result = (flag == saturation_off) ? Result : __esimd_satf<T, T, SZ>(Result);
696-
return simd<T, SZ>{Result};
696+
return simd<T, SZ>(Result);
697697
} else if constexpr (std::is_unsigned<T>::value) {
698698
auto Result = __esimd_umax<T, SZ>(src0.data(), src1.data());
699699
Result = (flag == saturation_off) ? Result
700700
: __esimd_uutrunc_sat<T, T, SZ>(Result);
701-
return simd<T, SZ>{Result};
701+
return simd<T, SZ>(Result);
702702
} else {
703703
auto Result = __esimd_smax<T, SZ>(src0.data(), src1.data());
704704
Result = (flag == saturation_off) ? Result
705705
: __esimd_sstrunc_sat<T, T, SZ>(Result);
706-
return simd<T, SZ>{Result};
706+
return simd<T, SZ>(Result);
707707
}
708708
}
709709

@@ -780,17 +780,17 @@ esimd_min(simd<T, SZ> src0, simd<T, SZ> src1, int flag = saturation_off) {
780780
if constexpr (std::is_floating_point<T>::value) {
781781
auto Result = __esimd_fmin<T, SZ>(src0.data(), src1.data());
782782
Result = (flag == saturation_off) ? Result : __esimd_satf<T, T, SZ>(Result);
783-
return simd<T, SZ>{Result};
783+
return simd<T, SZ>(Result);
784784
} else if constexpr (std::is_unsigned<T>::value) {
785785
auto Result = __esimd_umin<T, SZ>(src0.data(), src1.data());
786786
Result = (flag == saturation_off) ? Result
787787
: __esimd_uutrunc_sat<T, T, SZ>(Result);
788-
return simd<T, SZ>{Result};
788+
return simd<T, SZ>(Result);
789789
} else {
790790
auto Result = __esimd_smin<T, SZ>(src0.data(), src1.data());
791791
Result = (flag == saturation_off) ? Result
792792
: __esimd_sstrunc_sat<T, T, SZ>(Result);
793-
return simd<T, SZ>{Result};
793+
return simd<T, SZ>(Result);
794794
}
795795
}
796796

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ ESIMD_INLINE ESIMD_NODEBUG
317317
!std::is_pointer<AccessorTy>::value,
318318
void>
319319
scatter(AccessorTy acc, simd<T, N> vals, simd<uint32_t, N> offsets,
320-
uint32_t glob_offset = 0, simd_mask<N> pred = simd_mask<N>{1}) {
320+
uint32_t glob_offset = 0, simd_mask<N> pred = simd_mask<N>(1)) {
321321

322322
constexpr int TypeSizeLog2 = detail::ElemsPerAddrEncoding<sizeof(T)>();
323323
// TODO (performance) use hardware-supported scale once BE supports it
@@ -362,7 +362,7 @@ ESIMD_INLINE ESIMD_NODEBUG
362362
template <typename T, typename AccessorTy, CacheHint L1H = CacheHint::None,
363363
CacheHint L3H = CacheHint::None>
364364
ESIMD_INLINE ESIMD_NODEBUG T scalar_load(AccessorTy acc, uint32_t offset) {
365-
const simd<T, 1> Res = gather<T>(acc, simd<uint32_t, 1>{offset});
365+
const simd<T, 1> Res = gather<T>(acc, simd<uint32_t, 1>(offset));
366366
return Res[0];
367367
}
368368

@@ -372,7 +372,7 @@ template <typename T, typename AccessorTy, CacheHint L1H = CacheHint::None,
372372
CacheHint L3H = CacheHint::None>
373373
ESIMD_INLINE ESIMD_NODEBUG void scalar_store(AccessorTy acc, uint32_t offset,
374374
T val) {
375-
scatter<T>(acc, simd<T, 1>{val}, simd<uint32_t, 1>{offset});
375+
scatter<T>(acc, simd<T, 1>(val), simd<uint32_t, 1>(offset));
376376
}
377377

378378
/// Gathering read for the given starting pointer \p p and \p offsets.

0 commit comments

Comments
 (0)