On 20/01/2025 00:04, Krzysztof Pyrkosz via ffmpeg-devel wrote:
--- libavutil/aarch64/float_dsp_neon.S | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-)diff --git a/libavutil/aarch64/float_dsp_neon.S b/libavutil/aarch64/float_dsp_neon.S index 35e2715b87..b21f34c084 100644 --- a/libavutil/aarch64/float_dsp_neon.S +++ b/libavutil/aarch64/float_dsp_neon.S @@ -40,18 +40,17 @@ function ff_vector_fmul_neon, export=1 endfuncfunction ff_vector_fmac_scalar_neon, export=1- mov x3, #-32 1: subs w2, w2, #16 - ld1 {v16.4s, v17.4s}, [x0], #32 - ld1 {v18.4s, v19.4s}, [x0], x3 - ld1 {v4.4s, v5.4s}, [x1], #32 - ld1 {v6.4s, v7.4s}, [x1], #32 + ldp q16, q17, [x0] + ldp q4, q5, [x1], #32 fmla v16.4s, v4.4s, v0.s[0] fmla v17.4s, v5.4s, v0.s[0] + stp q16, q17, [x0], #32 + ldp q18, q19, [x0] + ldp q6, q7, [x1], #32 fmla v18.4s, v6.4s, v0.s[0] fmla v19.4s, v7.4s, v0.s[0] - st1 {v16.4s, v17.4s}, [x0], #32 - st1 {v18.4s, v19.4s}, [x0], #32 + stp q18, q19, [x0], #32 b.ne 1b ret endfunc
LGTM.ldp/stp are underrated instructions, they let you ignore the consecutive requirement of ld1/st1 when moving 2 vectors at a time.
Will push soon.
OpenPGP_0xA2FEA5F03F034464.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature
_______________________________________________ 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".