We need to use either VWCVT.X.X.V or VSEXT.VF2. The later is preferable to avoid changing VTYPE.
Unified · Split
| @@ -163,12 +163,11 @@ func ff_flac_wasted33_rvv, zve64x · 162 unmodified lines | ||
| 163 | 163 | ret |
| 164 | 164 | |
| 165 | 165 | 2: // Pessimistic case: wasted >= 32 |
| 166 | − vsetvli t0, a3, e32, m4, ta, ma | |
| 166 | + vsetvli t0, a3, e64, m8, ta, ma | |
| 167 | 167 | vle32.v v8, (a1) |
| 168 | 168 | sub a3, a3, t0 |
| 169 | − vwcvtu.x.x.v v16, v8 | |
| 169 | + vsext.vf2 v16, v8 | |
| 170 | 170 | sh2add a1, t0, a1 |
| 171 | − vsetvli zero, zero, e64, m8, ta, ma | |
| 172 | 171 | vsll.vx v16, v16, a2 |
| 173 | 172 | vse64.v v16, (a0) |
| 174 | 173 | sh3add a0, t0, a0 |