PR #21252 opened by Rémi Denis-Courmont (Courmisch) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21252 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21252.patch
From 2685ba9a0010d66225f0d8feada47bb5b8cf0a0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <[email protected]> Date: Sun, 21 Dec 2025 12:19:55 +0200 Subject: [PATCH 1/3] lavu/float_dsp: fix vector_dmac_scalar with ILP32 ABI --- libavutil/riscv/float_dsp_rvv.S | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libavutil/riscv/float_dsp_rvv.S b/libavutil/riscv/float_dsp_rvv.S index 9c00c8cb2d..b2ceb15619 100644 --- a/libavutil/riscv/float_dsp_rvv.S +++ b/libavutil/riscv/float_dsp_rvv.S @@ -228,15 +228,16 @@ endfunc func ff_vector_dmac_scalar_rvv, zve64d, zba lpad 0 #if __riscv_xlen >= 64 -NOHWD fmv.d.x fa0, a2 +NOHWD fmv.d.x fa0, a2 +NOHWD mv a2, a3 #else NOHWD addi sp, sp, -16 -NOHWD sw a0, 0(sp) -NOHWD sw a1, 4(sp) +NOHWD sw a2, 0(sp) +NOHWD sw a3, 4(sp) +NOHWD mv a2, a4 NOHWD fld fa0, (sp) NOHWD addi sp, sp, 16 #endif -NOHWD mv a2, a3 1: vsetvli t0, a2, e64, m8, ta, ma vle64.v v24, (a1) -- 2.49.1 From 8abcd75217bc1bfed693191afe86ed829aec423d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <[email protected]> Date: Sun, 21 Dec 2025 12:21:10 +0200 Subject: [PATCH 2/3] lavu/float_dsp: fix vector_dmul_scalar with ILP32 ABI --- libavutil/riscv/float_dsp_rvv.S | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libavutil/riscv/float_dsp_rvv.S b/libavutil/riscv/float_dsp_rvv.S index b2ceb15619..65bd1947d6 100644 --- a/libavutil/riscv/float_dsp_rvv.S +++ b/libavutil/riscv/float_dsp_rvv.S @@ -256,15 +256,16 @@ endfunc func ff_vector_dmul_scalar_rvv, zve64d, zba lpad 0 #if __riscv_xlen >= 64 -NOHWD fmv.d.x fa0, a2 +NOHWD fmv.d.x fa0, a2 +NOHWD mv a2, a3 #else NOHWD addi sp, sp, -16 -NOHWD sw a0, 0(sp) -NOHWD sw a1, 4(sp) +NOHWD sw a2, 0(sp) +NOHWD sw a3, 4(sp) +NOHWD mv a2, a4 NOHWD fld fa0, (sp) NOHWD addi sp, sp, 16 #endif -NOHWD mv a2, a3 1: vsetvli t0, a2, e64, m8, ta, ma vle64.v v16, (a1) -- 2.49.1 From 1e9bb539fd83cb8d13a5c12082c34f5f66756dea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <[email protected]> Date: Sun, 21 Dec 2025 12:21:41 +0200 Subject: [PATCH 3/3] lavu/float_dsp: fix scalarpdocut_double with ILP32 ABI --- libavutil/riscv/float_dsp_rvv.S | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libavutil/riscv/float_dsp_rvv.S b/libavutil/riscv/float_dsp_rvv.S index 65bd1947d6..312eee3fa7 100644 --- a/libavutil/riscv/float_dsp_rvv.S +++ b/libavutil/riscv/float_dsp_rvv.S @@ -279,7 +279,7 @@ NOHWD addi sp, sp, 16 ret endfunc -func ff_scalarproduct_double_rvv, zve64f, zba +func ff_scalarproduct_double_rvv, zve64d, zba lpad 0 vsetvli t0, zero, e64, m8, ta, ma vmv.v.x v8, zero @@ -297,6 +297,14 @@ func ff_scalarproduct_double_rvv, zve64f, zba vsetvli t0, zero, e64, m8, ta, ma vfredusum.vs v0, v8, v0 vfmv.f.s fa0, v0 +#if __riscv_xlen >= 64 NOHWD fmv.x.w a0, fa0 +#else +NOHWD addi sp, sp, -16 +NOHWD fsd fa0, (sp) +NOHWD lw a0, (sp) +NOHWD lw a1, 4(sp) +NOHWD addi sp, sp, 16 +#endif ret endfunc -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
