Skip to content

Commit c8ee4d6

Browse files
committed
WIP
1 parent 574884a commit c8ee4d6

File tree

3 files changed

+14
-46
lines changed

3 files changed

+14
-46
lines changed

include/xsimd/arch/common/xsimd_common_memory.hpp

Lines changed: 7 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -398,78 +398,50 @@ namespace xsimd
398398
template <class A, bool... Values, class Mode>
399399
XSIMD_INLINE batch<uint32_t, A> load_masked(uint32_t const* mem, batch_bool_constant<uint32_t, A, Values...>, convert<uint32_t>, Mode, requires_arch<A>) noexcept
400400
{
401-
const auto f = load_masked<A>(reinterpret_cast<const float*>(mem),
402-
batch_bool_constant<float, A, Values...> {},
403-
convert<float> {},
404-
Mode {},
405-
A {});
401+
const auto f = load_masked<A>(reinterpret_cast<const float*>(mem), batch_bool_constant<float, A, Values...> {}, convert<float> {}, Mode {}, A {});
406402
return bitwise_cast<uint32_t>(f);
407403
}
408404

409405
template <class A, bool... Values, class Mode>
410406
XSIMD_INLINE typename std::enable_if<has_simd_register<double, A>::value, batch<int64_t, A>>::type
411407
load_masked(int64_t const* mem, batch_bool_constant<int64_t, A, Values...>, convert<int64_t>, Mode, requires_arch<A>) noexcept
412408
{
413-
const auto d = load_masked<A>(reinterpret_cast<const double*>(mem),
414-
batch_bool_constant<double, A, Values...> {},
415-
convert<double> {},
416-
Mode {},
417-
A {});
409+
const auto d = load_masked<A>(reinterpret_cast<const double*>(mem), batch_bool_constant<double, A, Values...> {}, convert<double> {}, Mode {}, A {});
418410
return bitwise_cast<int64_t>(d);
419411
}
420412

421413
template <class A, bool... Values, class Mode>
422414
XSIMD_INLINE typename std::enable_if<has_simd_register<double, A>::value, batch<uint64_t, A>>::type
423415
load_masked(uint64_t const* mem, batch_bool_constant<uint64_t, A, Values...>, convert<uint64_t>, Mode, requires_arch<A>) noexcept
424416
{
425-
const auto d = load_masked<A>(reinterpret_cast<const double*>(mem),
426-
batch_bool_constant<double, A, Values...> {},
427-
convert<double> {},
428-
Mode {},
429-
A {});
417+
const auto d = load_masked<A>(reinterpret_cast<const double*>(mem), batch_bool_constant<double, A, Values...> {}, convert<double> {}, Mode {}, A {});
430418
return bitwise_cast<uint64_t>(d);
431419
}
432420

433421
template <class A, bool... Values, class Mode>
434422
XSIMD_INLINE void store_masked(int32_t* mem, batch<int32_t, A> const& src, batch_bool_constant<int32_t, A, Values...>, Mode, requires_arch<A>) noexcept
435423
{
436-
store_masked<A>(reinterpret_cast<float*>(mem),
437-
bitwise_cast<float>(src),
438-
batch_bool_constant<float, A, Values...> {},
439-
Mode {},
440-
A {});
424+
store_masked<A>(reinterpret_cast<float*>(mem), bitwise_cast<float>(src), batch_bool_constant<float, A, Values...> {}, Mode {}, A {});
441425
}
442426

443427
template <class A, bool... Values, class Mode>
444428
XSIMD_INLINE void store_masked(uint32_t* mem, batch<uint32_t, A> const& src, batch_bool_constant<uint32_t, A, Values...>, Mode, requires_arch<A>) noexcept
445429
{
446-
store_masked<A>(reinterpret_cast<float*>(mem),
447-
bitwise_cast<float>(src),
448-
batch_bool_constant<float, A, Values...> {},
449-
Mode {},
450-
A {});
430+
store_masked<A>(reinterpret_cast<float*>(mem), bitwise_cast<float>(src), batch_bool_constant<float, A, Values...> {}, Mode {}, A {});
451431
}
452432

453433
template <class A, bool... Values, class Mode>
454434
XSIMD_INLINE typename std::enable_if<has_simd_register<double, A>::value, void>::type
455435
store_masked(int64_t* mem, batch<int64_t, A> const& src, batch_bool_constant<int64_t, A, Values...>, Mode, requires_arch<A>) noexcept
456436
{
457-
store_masked<A>(reinterpret_cast<double*>(mem),
458-
bitwise_cast<double>(src),
459-
batch_bool_constant<double, A, Values...> {},
460-
Mode {},
461-
A {});
437+
store_masked<A>(reinterpret_cast<double*>(mem), bitwise_cast<double>(src), batch_bool_constant<double, A, Values...> {}, Mode {}, A {});
462438
}
463439

464440
template <class A, bool... Values, class Mode>
465441
XSIMD_INLINE typename std::enable_if<has_simd_register<double, A>::value, void>::type
466442
store_masked(uint64_t* mem, batch<uint64_t, A> const& src, batch_bool_constant<uint64_t, A, Values...>, Mode, requires_arch<A>) noexcept
467443
{
468-
store_masked<A>(reinterpret_cast<double*>(mem),
469-
bitwise_cast<double>(src),
470-
batch_bool_constant<double, A, Values...> {},
471-
Mode {},
472-
A {});
444+
store_masked<A>(reinterpret_cast<double*>(mem), bitwise_cast<double>(src), batch_bool_constant<double, A, Values...> {}, Mode {}, A {});
473445
}
474446

475447
// rotate_right

include/xsimd/arch/xsimd_avx.hpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -893,11 +893,7 @@ namespace xsimd
893893

894894
// load_masked
895895
template <class A, bool... Values, class Mode>
896-
XSIMD_INLINE batch<float, A> load_masked(float const* mem,
897-
batch_bool_constant<float, A, Values...> mask,
898-
convert<float>,
899-
Mode,
900-
requires_arch<avx>) noexcept
896+
XSIMD_INLINE batch<float, A> load_masked(float const* mem, batch_bool_constant<float, A, Values...> mask, convert<float>, Mode, requires_arch<avx>) noexcept
901897
{
902898
XSIMD_IF_CONSTEXPR(mask.none())
903899
{

include/xsimd/arch/xsimd_avx2.hpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -154,12 +154,12 @@ namespace xsimd
154154

155155
template <class A, bool... Values, class Mode>
156156
XSIMD_INLINE batch<uint32_t, A> load_masked(uint32_t const* mem,
157-
batch_bool_constant<uint32_t, A, Values...> mask,
157+
batch_bool_constant<uint32_t, A, Values...>,
158158
convert<uint32_t>,
159159
Mode,
160160
requires_arch<avx2>) noexcept
161161
{
162-
const auto r = load_masked<A>(reinterpret_cast<int32_t const*>(mem), mask, convert<int32_t> {}, Mode {}, avx2 {});
162+
const auto r = load_masked<A>(reinterpret_cast<int32_t const*>(mem), batch_bool_constant<int32_t, A, Values...> {}, convert<int32_t> {}, Mode {}, avx2 {});
163163
return bitwise_cast<uint32_t>(r);
164164
}
165165

@@ -200,12 +200,12 @@ namespace xsimd
200200

201201
template <class A, bool... Values, class Mode>
202202
XSIMD_INLINE batch<uint64_t, A> load_masked(uint64_t const* mem,
203-
batch_bool_constant<uint64_t, A, Values...> mask,
203+
batch_bool_constant<uint64_t, A, Values...>,
204204
convert<uint64_t>,
205205
Mode,
206206
requires_arch<avx2>) noexcept
207207
{
208-
const auto r = load_masked<A>(reinterpret_cast<int64_t const*>(mem), mask, convert<int64_t> {}, Mode {}, avx2 {});
208+
const auto r = load_masked<A>(reinterpret_cast<int64_t const*>(mem), batch_bool_constant<int64_t, A, Values...> {}, convert<int64_t> {}, Mode {}, avx2 {});
209209
return bitwise_cast<uint64_t>(r);
210210
}
211211

@@ -294,12 +294,12 @@ namespace xsimd
294294
template <class A, bool... Values, class Mode>
295295
XSIMD_INLINE void store_masked(uint64_t* mem,
296296
batch<uint64_t, A> const& src,
297-
batch_bool_constant<uint64_t, A, Values...> mask,
297+
batch_bool_constant<uint64_t, A, Values...>,
298298
Mode,
299299
requires_arch<avx2>) noexcept
300300
{
301301
const auto s64 = bitwise_cast<int64_t>(src);
302-
store_masked<A>(reinterpret_cast<int64_t*>(mem), s64, mask, Mode {}, avx2 {});
302+
store_masked<A>(reinterpret_cast<int64_t*>(mem), s64, batch_bool_constant<int64_t, A, Values...> {}, Mode {}, avx2 {});
303303
}
304304

305305
// bitwise_and

0 commit comments

Comments
 (0)