This saves one instruction and frees up A5, which will be repurposed in later changes. Unfortunately, we need to add quite a lot of alternative code for this. --- libavcodec/riscv/vp8dsp_rvv.S | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/libavcodec/riscv/vp8dsp_rvv.S b/libavcodec/riscv/vp8dsp_rvv.S index 545c2e9728..a4fcd158a5 100644 --- a/libavcodec/riscv/vp8dsp_rvv.S +++ b/libavcodec/riscv/vp8dsp_rvv.S @@ -202,23 +202,31 @@ func ff_put_vp8_epel\len\()_\type\()\size\()_rvv, zve32x 1: addi a4, a4, -1 .ifc \type,v - mv a5, a3 + sub t6, a2, a3 + add a7, a2, a3 .else - li a5, 1 + addi t6, a2, -1 + addi a7, a2, 1 .endif - sub t6, a2, a5 - add a7, a2, a5 - vle8.v v24, (a2) vle8.v v22, (t6) vle8.v v26, (a7) - add a7, a7, a5 +.ifc \type,v + add a7, a7, a3 +.else + addi a7, a7, 1 +.endif vle8.v v28, (a7) vwmulu.vx v16, v24, t2 vwmulu.vx v20, v26, t3 .ifc \size,6 - sub t6, t6, a5 - add a7, a7, a5 +.ifc \type,v + sub t6, t6, a3 + add a7, a7, a3 +.else + addi t6, t6, -1 + addi a7, a7, 1 +.endif vle8.v v24, (t6) vle8.v v26, (a7) vwmaccu.vx v16, t0, v24 -- 2.45.1 _______________________________________________ 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".