diff mbox series

[FFmpeg-devel,PATCHv4,4/4] lavc/huffyuvdsp: optimise RVV vtype for add_hfyu_left_pred_bgr32

Message ID 20240516164840.19025-4-remi@remlab.net
State New
Headers show
Series [FFmpeg-devel,PATCHv4,1/4] lavu/riscv: add assembler macros for adjusting vector LMUL | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Rémi Denis-Courmont May 16, 2024, 4:48 p.m. UTC
T-Head C908:
add_hfyu_left_pred_bgr32_c:       237.5
add_hfyu_left_pred_bgr32_rvv_i32: 173.5 (before)
add_hfyu_left_pred_bgr32_rvv_i32: 110.0 (after)
---
 libavcodec/riscv/huffyuvdsp_rvv.S | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Rémi Denis-Courmont May 16, 2024, 5:14 p.m. UTC | #1
Le torstaina 16. toukokuuta 2024, 19.48.40 EEST Rémi Denis-Courmont a écrit :
> T-Head C908:
> add_hfyu_left_pred_bgr32_c:       237.5
> add_hfyu_left_pred_bgr32_rvv_i32: 173.5 (before)
> add_hfyu_left_pred_bgr32_rvv_i32: 110.0 (after)
> ---
>  libavcodec/riscv/huffyuvdsp_rvv.S | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/libavcodec/riscv/huffyuvdsp_rvv.S
> b/libavcodec/riscv/huffyuvdsp_rvv.S index 9c4434907d..d334f5c6d0 100644
> --- a/libavcodec/riscv/huffyuvdsp_rvv.S
> +++ b/libavcodec/riscv/huffyuvdsp_rvv.S
> @@ -36,8 +36,10 @@ func ff_add_int16_rvv, zve32x
>          ret
>  endfunc
> 
> -func ff_add_hfyu_left_pred_bgr32_rvv, zve32x
> -        vsetivli zero, 4, e8, m1, ta, ma
> +func ff_add_hfyu_left_pred_bgr32_rvv, zve32x, zbb
> +        vtype_ivli t1, 4, e8, ta, ma
> +        li      t0, 4
> +        vsetvl  zero, t0, t1
>          vle8.v  v8, (a3)
>          sh2add  a2, a2, a1
>  1:

Missing Zvbb check in init.c will be added.
diff mbox series

Patch

diff --git a/libavcodec/riscv/huffyuvdsp_rvv.S b/libavcodec/riscv/huffyuvdsp_rvv.S
index 9c4434907d..d334f5c6d0 100644
--- a/libavcodec/riscv/huffyuvdsp_rvv.S
+++ b/libavcodec/riscv/huffyuvdsp_rvv.S
@@ -36,8 +36,10 @@  func ff_add_int16_rvv, zve32x
         ret
 endfunc
 
-func ff_add_hfyu_left_pred_bgr32_rvv, zve32x
-        vsetivli zero, 4, e8, m1, ta, ma
+func ff_add_hfyu_left_pred_bgr32_rvv, zve32x, zbb
+        vtype_ivli t1, 4, e8, ta, ma
+        li      t0, 4
+        vsetvl  zero, t0, t1
         vle8.v  v8, (a3)
         sh2add  a2, a2, a1
 1: