ffmpeg/libavutil/riscv
Rémi Denis-Courmont 3a134e8299 lavu/fixed_dsp: optimise R-V V fmul_reverse
Gathers are (unsurprisingly) a notable exception to the rule that R-V V
gets faster with larger group multipliers. So roll the function to speed
it up.

Before:
vector_fmul_reverse_fixed_c:       2840.7
vector_fmul_reverse_fixed_rvv_i32: 2430.2

After:
vector_fmul_reverse_fixed_c:       2841.0
vector_fmul_reverse_fixed_rvv_i32:  962.2

It might be possible to further optimise the function by moving the
reverse-subtract out of the loop and adding ad-hoc tail handling.
2023-11-23 18:57:18 +02:00
..
asm.S riscv: fix builds without Zbb support 2023-11-18 22:01:59 +02:00
bswap_rvb.S riscv: factor out the bswap32 assembler 2023-10-02 22:28:21 +03:00
bswap.h riscv/bswap: use compiler builtins 2023-05-02 22:08:21 +02:00
cpu.c lavu/riscv: fix typo 2023-10-29 22:15:15 +02:00
cpu.h lavu/riscv: helper to read the vector length 2022-09-28 11:43:17 +02:00
fixed_dsp_init.c lavu/fixed_dsp: R-V V vector_fmul_window 2023-10-09 19:52:28 +03:00
fixed_dsp_rvv.S lavu/fixed_dsp: optimise R-V V fmul_reverse 2023-11-23 18:57:18 +02:00
float_dsp_init.c lavu: add/use flag for RISC-V Zba extension 2023-07-19 19:29:35 +03:00
float_dsp_rvv.S lavu/float_dsp: adjust multipler in R-V V fmul_window 2023-10-09 19:52:28 +03:00
intmath.h riscv/intmath: use builtins for counting ones 2023-05-02 22:08:25 +02:00
Makefile lavu/fixeddsp: RISC-V V butterflies_fixed 2022-09-27 13:19:52 +02:00
timer.h Revert "lavu/timer: remove gratuitous volatile" 2023-09-28 17:48:18 +03:00