On Tue, 2 Apr 2024, Geoff Hill wrote:

Signed-off-by: Geoff Hill <ge...@geoffhill.org>
---
libavcodec/aarch64/ac3dsp_init_aarch64.c |  5 ++++
libavcodec/aarch64/ac3dsp_neon.S         | 35 ++++++++++++++++++++++++
tests/checkasm/ac3dsp.c                  | 26 ++++++++++++++++++
3 files changed, 66 insertions(+)

diff --git a/libavcodec/aarch64/ac3dsp_neon.S b/libavcodec/aarch64/ac3dsp_neon.S
index fa8fcf2e47..4a78ec0b2a 100644
--- a/libavcodec/aarch64/ac3dsp_neon.S
+++ b/libavcodec/aarch64/ac3dsp_neon.S
@@ -88,3 +88,38 @@ function ff_ac3_sum_square_butterfly_int32_neon, export=1
        st1         {v0.1d-v3.1d}, [x0]
1:      ret
endfunc
+
+function ff_ac3_sum_square_butterfly_float_neon, export=1
+        cbz         w3, 1f
+        movi        v0.4s, #0
+        movi        v1.4s, #0
+        movi        v2.4s, #0
+        movi        v3.4s, #0
+0:      ld1         {v30.4s}, [x1], #16
+        ld1         {v31.4s}, [x2], #16
+        fadd        v16.4s, v30.4s, v31.4s
+        fsub        v17.4s, v30.4s, v31.4s
+        fmul        v30.4s, v30.4s, v30.4s
+        fadd        v0.4s, v0.4s, v30.4s

The arm version here used vmla instead of separate vmul+vadd - is there any reason why we can't use fmla here?

// Martin

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to