From c3dbbb316ee44b1685b6437756a23a545fb31fb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= Date: Thu, 6 Jun 2024 22:21:30 +0300 Subject: [PATCH] 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. --- libavcodec/riscv/flacdsp_rvv.S | 5 ++--- 1 file 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