diff options
author | Chris Robinson <chris.kcat@gmail.com> | 2021-02-08 15:25:42 -0800 |
---|---|---|
committer | Chris Robinson <chris.kcat@gmail.com> | 2021-02-08 15:25:42 -0800 |
commit | 76d9897bc34b6625caee253ebcde4cb233e17ab0 (patch) | |
tree | 113d125ff968049d9950f7b8857e9e7f262fba8d /core | |
parent | dfe627133c1d018748bd66ad1f8c72945448a34a (diff) |
Add the all-pass filter results to the output with NEON
Diffstat (limited to 'core')
-rw-r--r-- | core/uhjfilter.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/core/uhjfilter.cpp b/core/uhjfilter.cpp index 350a9aaa..72506716 100644 --- a/core/uhjfilter.cpp +++ b/core/uhjfilter.cpp @@ -161,10 +161,10 @@ void allpass_process(al::span<float> dst, const float *RESTRICT src) r14 = vmlaq_f32(r14, shuffle_3131(s0, s1), coeffs); } r04 = vaddq_f32(r04, vrev64q_f32(r04)); - dst[pos++] = vget_lane_f32(vadd_f32(vget_low_f32(r04), vget_high_f32(r04)), 0); + dst[pos++] += vget_lane_f32(vadd_f32(vget_low_f32(r04), vget_high_f32(r04)), 0); r14 = vaddq_f32(r14, vrev64q_f32(r14)); - dst[pos++] = vget_lane_f32(vadd_f32(vget_low_f32(r14), vget_high_f32(r14)), 0); + dst[pos++] += vget_lane_f32(vadd_f32(vget_low_f32(r14), vget_high_f32(r14)), 0); src += 2; } while(--todo); @@ -187,7 +187,7 @@ void allpass_process(al::span<float> dst, const float *RESTRICT src) r4 = vmlaq_f32(r4, s, coeffs); } r4 = vaddq_f32(r4, vrev64q_f32(r4)); - dst[pos] = vget_lane_f32(vadd_f32(vget_low_f32(r4), vget_high_f32(r4)), 0); + dst[pos] += vget_lane_f32(vadd_f32(vget_low_f32(r4), vget_high_f32(r4)), 0); } #else |