summaryrefslogtreecommitdiff
path: root/libswscale/aarch64/output.S
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2020-04-19 20:46:15 +0300
committerMartin Storsjö <martin@martin.st>2020-04-21 23:41:13 +0300
commit9025d5c5ce3d4bbeb793500951ea7773ed293e61 (patch)
tree94a99537f55b049966a646b703037992fbbb2193 /libswscale/aarch64/output.S
parent7f2649bb46e3dde691edfb03aeb42ba4ef183ab8 (diff)
swscale: aarch64: Don't clobber callee-saved registers v8-v15
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libswscale/aarch64/output.S')
-rw-r--r--libswscale/aarch64/output.S6
1 files changed, 3 insertions, 3 deletions
diff --git a/libswscale/aarch64/output.S b/libswscale/aarch64/output.S
index 25bf28b6e4..af71de6050 100644
--- a/libswscale/aarch64/output.S
+++ b/libswscale/aarch64/output.S
@@ -39,11 +39,11 @@ function ff_yuv2planeX_8_neon, export=1
ld1 {v5.8H}, [x11] // read 8x16-bit @ src[j ][i + {0..7}]: A,B,C,D,E,F,G,H
ld1 {v6.8H}, [x12] // read 8x16-bit @ src[j+1][i + {0..7}]: I,J,K,L,M,N,O,P
ld1r {v7.8H}, [x10], #2 // read 1x16-bit coeff X at filter[j ] and duplicate across lanes
- ld1r {v8.8H}, [x10], #2 // read 1x16-bit coeff Y at filter[j+1] and duplicate across lanes
+ ld1r {v16.8H}, [x10], #2 // read 1x16-bit coeff Y at filter[j+1] and duplicate across lanes
smlal v3.4S, v5.4H, v7.4H // val0 += {A,B,C,D} * X
smlal2 v4.4S, v5.8H, v7.8H // val1 += {E,F,G,H} * X
- smlal v3.4S, v6.4H, v8.4H // val0 += {I,J,K,L} * Y
- smlal2 v4.4S, v6.8H, v8.8H // val1 += {M,N,O,P} * Y
+ smlal v3.4S, v6.4H, v16.4H // val0 += {I,J,K,L} * Y
+ smlal2 v4.4S, v6.8H, v16.8H // val1 += {M,N,O,P} * Y
subs w8, w8, #2 // tmpfilterSize -= 2
b.gt 3b // loop until filterSize consumed