diff options
author | Martin Storsjö <martin@martin.st> | 2020-04-19 20:46:15 +0300 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2020-04-21 23:41:13 +0300 |
commit | 9025d5c5ce3d4bbeb793500951ea7773ed293e61 (patch) | |
tree | 94a99537f55b049966a646b703037992fbbb2193 /libswscale/aarch64/output.S | |
parent | 7f2649bb46e3dde691edfb03aeb42ba4ef183ab8 (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.S | 6 |
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 |