diff options
Diffstat (limited to 'src/core/NEON/kernels/NEReductionOperationKernel.cpp')
-rw-r--r-- | src/core/NEON/kernels/NEReductionOperationKernel.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/NEON/kernels/NEReductionOperationKernel.cpp b/src/core/NEON/kernels/NEReductionOperationKernel.cpp index b77219cd79..182e93d177 100644 --- a/src/core/NEON/kernels/NEReductionOperationKernel.cpp +++ b/src/core/NEON/kernels/NEReductionOperationKernel.cpp @@ -154,7 +154,10 @@ struct RedOpX input); auto carry_addition = wrapper::vpadd(wrapper::vgethigh(vec_sum_value), wrapper::vgetlow(vec_sum_value)); - carry_addition = wrapper::vpadd(carry_addition, carry_addition); + for(int i = 0; i < S / 4; ++i) + { + carry_addition = wrapper::vpadd(carry_addition, carry_addition); + } auto res = wrapper::vgetlane(carry_addition, 0); if(op == ReductionOperation::MEAN_SUM) |