23#if defined(HIGHWAY_HWY_EXAMPLES_SKELETON_INL_H_) == defined(HWY_TARGET_TOGGLE)
24#ifdef HIGHWAY_HWY_EXAMPLES_SKELETON_INL_H_
25#undef HIGHWAY_HWY_EXAMPLES_SKELETON_INL_H_
27#define HIGHWAY_HWY_EXAMPLES_SKELETON_INL_H_
45template <
class D,
typename T>
49 for (
size_t i = 0; i < size; i +=
Lanes(
d)) {
50 const auto mul =
Load(
d, mul_array + i);
51 const auto add =
Load(
d, add_array + i);
52 auto x =
Load(
d, x_array + i);
#define HWY_RESTRICT
Definition: base.h:61
#define HWY_MAYBE_UNUSED
Definition: base.h:73
Definition: copy-inl.h:31
d
Definition: rvv-inl.h:1742
HWY_API Vec128< float, N > MulAdd(const Vec128< float, N > mul, const Vec128< float, N > x, const Vec128< float, N > add)
Definition: arm_neon-inl.h:1784
HWY_API constexpr size_t Lanes(Simd< T, N, kPow2 >)
Definition: arm_sve-inl.h:236
HWY_API Vec128< T, N > Load(Simd< T, N, 0 > d, const T *HWY_RESTRICT p)
Definition: arm_neon-inl.h:2706
HWY_API void Store(Vec128< T, N > v, Simd< T, N, 0 > d, T *HWY_RESTRICT aligned)
Definition: arm_neon-inl.h:2882
HWY_MAYBE_UNUSED void MulAddLoop(const D d, const T *HWY_RESTRICT mul_array, const T *HWY_RESTRICT add_array, const size_t size, T *HWY_RESTRICT x_array)
Definition: skeleton-inl.h:46
Definition: skeleton-inl.h:36
#define HWY_NAMESPACE
Definition: set_macros-inl.h:82