[SIMD] operator* for returntype of lane and SIMD vector
I want to use expressions like
vec = lane(0,vec)*vec
where vec
is a Vc::SimdArray<double,2>
for example. The compiler gives me
error: no match for ‘operator*’ (operand types are ‘Dune::Simd::VcImpl::Proxy<Vc_1::SimdArray<double, 2ul> >’ and ‘Vc_1::SimdArray<double, 2ul>’)
I would expect that it gives me the same as
Dune::Simd::Scalar<decltype(vec)> v0 = lane(0,vec);
vec = v0*vec
You can find a test for reproducing it here: https://gitlab.dune-project.org/nils.dreier/dune-common/commits/simd_lane_times_vec_bug