commit d445e07167d628f6673ebaf25c7f4ebfa3a195d1
parent 3b1f2bdb633397d871afb1945a5afd9dec45b9b6
Author: Benjamin Navarro <[email protected]>
Date: Tue, 25 Feb 2020 18:18:46 +0100
Fix compilation in debug with GCC
Diffstat:
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/include/kfr/simd/impl/backend_generic.hpp b/include/kfr/simd/impl/backend_generic.hpp
@@ -1521,14 +1521,16 @@ KFR_INTRINSIC simd<float, 4> simd_vec_shuffle(simd_t<float, 4>, const simd<float
csizes_t<I0, I1, I2, I3>)
{
// SSE -> SSE
- return _mm_shuffle_ps(x, x, shuffle_mask<8, I0, I1, I2, I3>::value);
+ constexpr size_t mask = shuffle_mask<8, I0, I1, I2, I3>::value;
+ return _mm_shuffle_ps(x, x, mask);
}
template <size_t I0, size_t I1>
KFR_INTRINSIC simd<double, 2> simd_vec_shuffle(simd_t<double, 2>, const simd<double, 2>& x, csizes_t<I0, I1>)
{
// SSE -> SSE
- return _mm_shuffle_pd(x, x, shuffle_mask<2, I0, I1>::value);
+ constexpr size_t mask = shuffle_mask<2, I0, I1>::value;
+ return _mm_shuffle_pd(x, x, mask);
}
#endif