diff options
author | Rémi Denis-Courmont <remi@remlab.net> | 2024-06-06 22:21:30 +0300 |
---|---|---|
committer | Rémi Denis-Courmont <remi@remlab.net> | 2024-06-07 17:53:05 +0300 |
commit | c3dbbb316ee44b1685b6437756a23a545fb31fb1 (patch) | |
tree | 5b1d00c539c61573df60292412afa4a62570d344 /libavcodec/riscv/flacdsp_rvv.S | |
parent | 5939f7228a23ac2e02259612bc174cdacbe04ac1 (diff) | |
download | ffmpeg-c3dbbb316ee44b1685b6437756a23a545fb31fb1.tar.gz |
lavc/flacdsp: fix sign extension in R-V V wasted33
We need to use either VWCVT.X.X.V or VSEXT.VF2. The later is preferable
to avoid changing VTYPE.
Diffstat (limited to 'libavcodec/riscv/flacdsp_rvv.S')
-rw-r--r-- | libavcodec/riscv/flacdsp_rvv.S | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/libavcodec/riscv/flacdsp_rvv.S b/libavcodec/riscv/flacdsp_rvv.S index ea42f8bea4..1724aee9d7 100644 --- a/libavcodec/riscv/flacdsp_rvv.S +++ b/libavcodec/riscv/flacdsp_rvv.S @@ -163,12 +163,11 @@ func ff_flac_wasted33_rvv, zve64x ret 2: // Pessimistic case: wasted >= 32 - vsetvli t0, a3, e32, m4, ta, ma + vsetvli t0, a3, e64, m8, ta, ma vle32.v v8, (a1) sub a3, a3, t0 - vwcvtu.x.x.v v16, v8 + vsext.vf2 v16, v8 sh2add a1, t0, a1 - vsetvli zero, zero, e64, m8, ta, ma vsll.vx v16, v16, a2 vse64.v v16, (a0) sh3add a0, t0, a0 |