aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/aarch64/ac3dsp_neon.S
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2024-04-08 13:57:05 +0300
committerJ. Dekker <jdek@itanimul.li>2024-04-09 16:50:49 +0200
commit359b6a7f8aec3736451f5179deb98f173fbff0dd (patch)
tree44d75924f793c6b30c417bfd94109074dfa9fb8a /libavcodec/aarch64/ac3dsp_neon.S
parent1c0149359ac7e3c95aea083250603122887417c6 (diff)
downloadffmpeg-359b6a7f8aec3736451f5179deb98f173fbff0dd.tar.gz
aarch64/ac3dsp: simplify the end of ff_ac3_sum_square_butterfly_float_neon
Before: Cortex A53 A72 A78 M1 ac3_sum_square_bufferfly_float_neon: 1005.7 516.5 224.5 194.0 After: ac3_sum_square_bufferfly_float_neon: 981.7 504.5 223.2 189.5 Signed-off-by: J. Dekker <jdek@itanimul.li>
Diffstat (limited to 'libavcodec/aarch64/ac3dsp_neon.S')
-rw-r--r--libavcodec/aarch64/ac3dsp_neon.S16
1 files changed, 4 insertions, 12 deletions
diff --git a/libavcodec/aarch64/ac3dsp_neon.S b/libavcodec/aarch64/ac3dsp_neon.S
index 20beb6cc50..7e97cc39f7 100644
--- a/libavcodec/aarch64/ac3dsp_neon.S
+++ b/libavcodec/aarch64/ac3dsp_neon.S
@@ -103,17 +103,9 @@ function ff_ac3_sum_square_butterfly_float_neon, export=1
fmla v3.4s, v17.4s, v17.4s
subs w3, w3, #4
b.gt 1b
- faddp v0.4s, v0.4s, v0.4s
- faddp v0.2s, v0.2s, v0.2s
- st1 {v0.s}[0], [x0], #4
- faddp v1.4s, v1.4s, v1.4s
- faddp v1.2s, v1.2s, v1.2s
- st1 {v1.s}[0], [x0], #4
- faddp v2.4s, v2.4s, v2.4s
- faddp v2.2s, v2.2s, v2.2s
- st1 {v2.s}[0], [x0], #4
- faddp v3.4s, v3.4s, v3.4s
- faddp v3.2s, v3.2s, v3.2s
- st1 {v3.s}[0], [x0]
+ faddp v0.4s, v0.4s, v1.4s
+ faddp v2.4s, v2.4s, v3.4s
+ faddp v0.4s, v0.4s, v2.4s
+ st1 {v0.4s}, [x0]
ret
endfunc