diff --git a/modules/core/include/opencv2/core/hal/intrin_vsx.hpp b/modules/core/include/opencv2/core/hal/intrin_vsx.hpp index 9506adfe7e543e0fd26c8e331e16ef218094a6bd..fce5c444ed3fabd368b4e6b27ad0fdaba18b288d 100644 --- a/modules/core/include/opencv2/core/hal/intrin_vsx.hpp +++ b/modules/core/include/opencv2/core/hal/intrin_vsx.hpp @@ -718,7 +718,7 @@ OPENCV_HAL_IMPL_VSX_REDUCE_OP_4(v_float32x4, vec_float4, float, min, vec_min) inline double v_reduce_sum(const v_float64x2& a) { - return vec_extract(vec_add(a.val, vec_sld(a.val, a.val, 8)), 0); + return vec_extract(vec_add(a.val, vec_permi(a.val, a.val, 3)), 0); } #define OPENCV_HAL_IMPL_VSX_REDUCE_OP_8(_Tpvec, _Tpvec2, scalartype, suffix, func) \