diff options
author | RĂ©mi Denis-Courmont <remi@remlab.net> | 2022-10-02 14:55:01 +0300 |
---|---|---|
committer | Lynne <dev@lynne.ee> | 2022-10-05 08:26:19 +0200 |
commit | 2abafd7307d5ba31cc6492539caf0da15dd808a5 (patch) | |
tree | c59f97a721580cacf4c277b3b22bc13216b9612b /libavcodec/riscv/bswapdsp_rvv.S | |
parent | d7528af4df169dea0af080f33e41f292a6eba99c (diff) | |
download | ffmpeg-2abafd7307d5ba31cc6492539caf0da15dd808a5.tar.gz |
lavc/bswapdsp: RISC-V V bswap16_buf
Diffstat (limited to 'libavcodec/riscv/bswapdsp_rvv.S')
-rw-r--r-- | libavcodec/riscv/bswapdsp_rvv.S | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libavcodec/riscv/bswapdsp_rvv.S b/libavcodec/riscv/bswapdsp_rvv.S index 7ea747b3ce..ef2999c1be 100644 --- a/libavcodec/riscv/bswapdsp_rvv.S +++ b/libavcodec/riscv/bswapdsp_rvv.S @@ -43,3 +43,20 @@ func ff_bswap32_buf_rvv, zve32x ret endfunc + +func ff_bswap16_buf_rvv, zve32x + li t2, 2 + addi t1, a0, 1 +1: + vsetvli t0, a2, e8, m1, ta, ma + vlseg2e8.v v8, (a1) + sub a2, a2, t0 + sh1add a1, t0, a1 + vsse8.v v8, (t1), t2 + sh1add t1, t0, t1 + vsse8.v v9, (a0), t2 + sh1add a0, t0, a0 + bnez a2, 1b + + ret +endfunc |