1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-10 06:10:52 +02:00

lavc/bswapdsp: rewrite RISC-V V bswap16

This favours bit-wise logic over slow strided stores.
This commit is contained in:
Rémi Denis-Courmont
2023-07-16 16:55:30 +03:00
parent b6585eb04c
commit 5de1db5370

View File

@@ -45,16 +45,15 @@ func ff_bswap32_buf_rvv, zve32x
endfunc endfunc
func ff_bswap16_buf_rvv, zve32x func ff_bswap16_buf_rvv, zve32x
li t2, 2
addi t1, a0, 1
1: 1:
vsetvli t0, a2, e8, m1, ta, ma vsetvli t0, a2, e16, m8, ta, ma
vlseg2e8.v v8, (a1) vle16.v v8, (a1)
sub a2, a2, t0 sub a2, a2, t0
vsll.vi v16, v8, 8
sh1add a1, t0, a1 sh1add a1, t0, a1
vsse8.v v8, (t1), t2 vsrl.vi v24, v8, 8
sh1add t1, t0, t1 vor.vv v8, v16, v24
vsse8.v v9, (a0), t2 vse16.v v8, (a0)
sh1add a0, t0, a0 sh1add a0, t0, a0
bnez a2, 1b bnez a2, 1b