lavc/audiodsp: unroll RISC-V clip functions

audiodsp.vector_clip_int32_c: 17500.7
audiodsp.vector_clip_int32_rvv_i32: 8404.7  (m1)
audiodsp.vector_clip_int32_rvv_i32: 2689.9  (m8)

audiodsp.vector_clipf_c: 33679.7
audiodsp.vector_clipf_rvf: 7019.7
audiodsp.vector_clipf_rvv_f32: 8328.0       (m1)
audiodsp.vector_clipf_rvv_f32: 2209.4       (m8)
This commit is contained in:
Rémi Denis-Courmont 2023-09-28 18:05:28 +03:00
parent b6e5136ba3
commit 3575ee2ea3

View File

@ -42,7 +42,7 @@ endfunc
func ff_vector_clip_int32_rvv, zve32x func ff_vector_clip_int32_rvv, zve32x
1: 1:
vsetvli t0, a4, e32, m1, ta, ma vsetvli t0, a4, e32, m8, ta, ma
vle32.v v8, (a1) vle32.v v8, (a1)
sub a4, a4, t0 sub a4, a4, t0
vmax.vx v8, v8, a2 vmax.vx v8, v8, a2
@ -59,7 +59,7 @@ func ff_vector_clipf_rvv, zve32f
NOHWF fmv.w.x fa0, a3 NOHWF fmv.w.x fa0, a3
NOHWF fmv.w.x fa1, a4 NOHWF fmv.w.x fa1, a4
1: 1:
vsetvli t0, a2, e32, m1, ta, ma vsetvli t0, a2, e32, m8, ta, ma
vle32.v v8, (a1) vle32.v v8, (a1)
sub a2, a2, t0 sub a2, a2, t0
vfmax.vf v8, v8, fa0 vfmax.vf v8, v8, fa0