diff --git a/Grid/simd/Grid_a64fx-fixedsize.h b/Grid/simd/Grid_a64fx-fixedsize.h index 0004d405..9c306569 100644 --- a/Grid/simd/Grid_a64fx-fixedsize.h +++ b/Grid/simd/Grid_a64fx-fixedsize.h @@ -698,7 +698,8 @@ struct Reduce{ //Complex float Reduce template <> // inline Grid::ComplexF Reduce::operator()(svfloat32_t in){ -inline Grid::ComplexF Reduce::operator()(__SVFloat32_t in){ +//inline Grid::ComplexF Reduce::operator()(__SVFloat32_t in){ +inline Grid::ComplexF Reduce::operator()(vecf in){ pred pg_even = acle::pg_even(); pred pg_odd = acle::pg_odd(); float a = svred(pg_even, in); @@ -708,14 +709,16 @@ inline Grid::ComplexF Reduce::operator()(__SVFloa //Real float Reduce template <> //inline Grid::RealF Reduce::operator()(svfloat32_t in){ -inline Grid::RealF Reduce::operator()(__SVFloat32_t in){ +//inline Grid::RealF Reduce::operator()(__SVFloat32_t in){ +inline Grid::RealF Reduce::operator()(vecf in){ pred pg1 = acle::pg1(); return svred(pg1, in); } //Complex double Reduce template <> //inline Grid::ComplexD Reduce::operator()(svfloat64_t in){ -inline Grid::ComplexD Reduce::operator()(__SVFloat64_t in){ +//inline Grid::ComplexD Reduce::operator()(__SVFloat64_t in){ +inline Grid::ComplexD Reduce::operator()(vecd in){ pred pg_even = acle::pg_even(); pred pg_odd = acle::pg_odd(); double a = svred(pg_even, in); @@ -725,14 +728,16 @@ inline Grid::ComplexD Reduce::operator()(__SVFloa //Real double Reduce template <> //inline Grid::RealD Reduce::operator()(svfloat64_t in){ -inline Grid::RealD Reduce::operator()(__SVFloat64_t in){ +//inline Grid::RealD Reduce::operator()(__SVFloat64_t in){ +inline Grid::RealD Reduce::operator()(vecd in){ pred pg1 = acle::pg1(); return svred(pg1, in); } //Integer Reduce template <> //inline Integer Reduce::operator()(svuint32_t in){ -inline Integer Reduce::operator()(__SVUint32_t in){ +//inline Integer Reduce::operator()(__SVUint32_t in){ +inline Integer Reduce::operator()(veci in){ pred pg1 = acle::pg1(); return svred(pg1, in); }