aarch64/opusdsp: do not clobber register v8
authorLynne <dev@lynne.ee>
Thu, 15 Aug 2019 12:27:21 +0000 (13:27 +0100)
committerLynne <dev@lynne.ee>
Thu, 15 Aug 2019 12:29:22 +0000 (13:29 +0100)
A part of v8-v15 needs to be preserved across calls.

libavcodec/aarch64/opusdsp_neon.S

index 3d805e2..46c2be0 100644 (file)
@@ -95,16 +95,16 @@ function ff_opus_postfilter_neon, export=1
         fmla v3.4s, v7.4s, v2.4s
         fadd v6.4s, v6.4s, v4.4s
 
-        ld1 {v8.4s}, [x0]
-        fmla v8.4s, v5.4s, v0.4s
+        ld1 {v4.4s}, [x0]
+        fmla v4.4s, v5.4s, v0.4s
 
         fmul v6.4s, v6.4s, v1.4s
         fadd v6.4s, v6.4s, v3.4s
 
-        fadd v8.4s, v8.4s, v6.4s
+        fadd v4.4s, v4.4s, v6.4s
         fmul v3.4s, v7.4s, v2.4s
 
-        st1  {v8.4s}, [x0], #16
+        st1  {v4.4s}, [x0], #16
 
         subs w3, w3, #4
         b.gt 1b