lavc/alacdsp: unroll RISC-V V loops
This increases the group multiplier as per T-Head C910 benchmarks: alac_append_extra_bits_mono_c: 803.0 alac_append_extra_bits_stereo_c: 1604.2 alac_decorrelate_stereo_c: 1077.5 LMUL=1 alac_append_extra_bits_mono_rvv_i32: 418.2 alac_append_extra_bits_stereo_rvv_i32: 693.2 alac_decorrelate_stereo_rvv_i32: 673.5 LMUL=2 alac_append_extra_bits_mono_rvv_i32: 382.2 alac_append_extra_bits_stereo_rvv_i32: 648.2 alac_decorrelate_stereo_rvv_i32: 542.7 LMUL=4 alac_append_extra_bits_mono_rvv_i32: 241.5 alac_append_extra_bits_stereo_rvv_i32: 512.7 alac_decorrelate_stereo_rvv_i32: 364.2 LMUL=8 alac_append_extra_bits_mono_rvv_i32: 239.7 alac_append_extra_bits_stereo_rvv_i32: 497.2 alac_decorrelate_stereo_rvv_i32: 426.7
This commit is contained in:
parent
a28aa0475d
commit
c541ecf0dc
@ -25,7 +25,7 @@ func ff_alac_decorrelate_stereo_rvv, zve32x
|
||||
ld a4, 8(a0)
|
||||
ld a0, 0(a0)
|
||||
1:
|
||||
vsetvli t0, a1, e32, m1, ta, ma
|
||||
vsetvli t0, a1, e32, m4, ta, ma
|
||||
vle32.v v24, (a4)
|
||||
sub a1, a1, t0
|
||||
vle32.v v16, (a0)
|
||||
@ -47,7 +47,7 @@ func ff_alac_append_extra_bits_mono_rvv, zve32x
|
||||
ld a0, (a0)
|
||||
ld a1, (a1)
|
||||
1:
|
||||
vsetvli t0, a4, e32, m1, ta, ma
|
||||
vsetvli t0, a4, e32, m8, ta, ma
|
||||
vle32.v v16, (a0)
|
||||
sub a4, a4, t0
|
||||
vle32.v v24, (a1)
|
||||
@ -67,7 +67,7 @@ func ff_alac_append_extra_bits_stereo_rvv, zve32x
|
||||
ld a7, 8(a1)
|
||||
ld a1, (a1)
|
||||
1:
|
||||
vsetvli t0, a4, e32, m1, ta, ma
|
||||
vsetvli t0, a4, e32, m8, ta, ma
|
||||
vle32.v v16, (a0)
|
||||
sub a4, a4, t0
|
||||
vle32.v v0, (a6)
|
||||
|
Loading…
x
Reference in New Issue
Block a user