Showing the changes to libavcodec (1 of 1 file). Show all
Unified · Split
| @@ -161,6 +161,7 @@ func ff_vc1_inv_trans_8_rvv, zve32x · 160 unmodified lines | |||
| 161 | vsll.vi v23, v7, 4 | 161 | vsll.vi v23, v7, 4 |
| 162 | vsub.vv v20, v20, v21 | 162 | vsub.vv v20, v20, v21 |
| 163 | vsub.vv v22, v22, v23 | 163 | vsub.vv v22, v22, v23 |
| 164 | srli t2, t1, 2 | ||
| 164 | vadd.vv v0, v28, v16 | 165 | vadd.vv v0, v28, v16 |
| 165 | vadd.vv v19, v20, v22 # t4 | 166 | vadd.vv v19, v20, v22 # t4 |
| 166 | vadd.vv v1, v29, v17 | 167 | vadd.vv v1, v29, v17 |
| @@ -170,6 +171,14 @@ func ff_vc1_inv_trans_8_rvv, zve32x · 3 unmodified lines | |||
| 170 | vsub.vv v5, v30, v18 | 171 | vsub.vv v5, v30, v18 |
| 171 | vsub.vv v6, v29, v17 | 172 | vsub.vv v6, v29, v17 |
| 172 | vsub.vv v7, v28, v16 | 173 | vsub.vv v7, v28, v16 |
| 174 | beqz t2, 1f # faster than 4x add t2=zero | ||
| 175 | .irp n,4,5,6,7 | ||
| 176 | vadd.vi v\n, v\n, 1 | ||
| 177 | .endr | ||
| 178 | 1: | ||
| 179 | .irp n,0,1,2,3,4,5,6,7 | ||
| 180 | vssra.vx v\n, v\n, t1 | ||
| 181 | .endr | ||
| 173 | jr t0 | 182 | jr t0 |
| 174 | endfunc | 183 | endfunc |
| 175 | 184 | ||
| @@ -216,35 +225,22 @@ func ff_vc1_inv_trans_8x8_rvv, zve32x · 40 unmodified lines | |||
| 216 | addi a7, a0, 7 * 8 * 2 | 225 | addi a7, a0, 7 * 8 * 2 |
| 217 | vle16.v v6, (a6) | 226 | vle16.v v6, (a6) |
| 218 | vle16.v v7, (a7) | 227 | vle16.v v7, (a7) |
| 228 | li t1, 3 | ||
| 219 | jal t0, ff_vc1_inv_trans_8_rvv | 229 | jal t0, ff_vc1_inv_trans_8_rvv |
| 220 | .irp n,0,1,2,3,4,5,6,7 | ||
| 221 | vssra.vi v\n, v\n, 3 | ||
| 222 | .endr | ||
| 223 | vsseg8e16.v v0, (a0) | 230 | vsseg8e16.v v0, (a0) |
| 224 | .irp n,0,1,2,3,4,5,6,7 | 231 | .irp n,0,1,2,3,4,5,6,7 |
| 225 | vle16.v v\n, (a\n) | 232 | vle16.v v\n, (a\n) |
| 226 | .endr | 233 | .endr |
| 234 | li t1, 7 | ||
| 227 | jal t0, ff_vc1_inv_trans_8_rvv | 235 | jal t0, ff_vc1_inv_trans_8_rvv |
| 228 | vadd.vi v4, v4, 1 | ||
| 229 | vadd.vi v5, v5, 1 | ||
| 230 | vssra.vi v4, v4, 7 | ||
| 231 | vssra.vi v5, v5, 7 | ||
| 232 | vse16.v v4, (a4) | ||
| 233 | vadd.vi v6, v6, 1 | ||
| 234 | vse16.v v5, (a5) | ||
| 235 | vadd.vi v7, v7, 1 | ||
| 236 | vssra.vi v6, v6, 7 | ||
| 237 | vssra.vi v7, v7, 7 | ||
| 238 | vse16.v v6, (a6) | ||
| 239 | vssra.vi v0, v0, 7 | ||
| 240 | vse16.v v7, (a7) | ||
| 241 | vssra.vi v1, v1, 7 | ||
| 242 | vse16.v v0, (a0) | 236 | vse16.v v0, (a0) |
| 243 | vssra.vi v2, v2, 7 | ||
| 244 | vse16.v v1, (a1) | 237 | vse16.v v1, (a1) |
| 245 | vssra.vi v3, v3, 7 | ||
| 246 | vse16.v v2, (a2) | 238 | vse16.v v2, (a2) |
| 247 | vse16.v v3, (a3) | 239 | vse16.v v3, (a3) |
| 240 | vse16.v v4, (a4) | ||
| 241 | vse16.v v5, (a5) | ||
| 242 | vse16.v v6, (a6) | ||
| 243 | vse16.v v7, (a7) | ||
| 248 | ret | 244 | ret |
| 249 | endfunc | 245 | endfunc |
| 250 | 246 | ||
| @@ -252,6 +248,7 @@ func ff_vc1_inv_trans_8x4_rvv, zve32x · 1 unmodified line | |||
| 252 | csrwi vxrm, 0 | 248 | csrwi vxrm, 0 |
| 253 | vsetivli zero, 4, e16, mf2, ta, ma | 249 | vsetivli zero, 4, e16, mf2, ta, ma |
| 254 | vlseg8e16.v v0, (a2) | 250 | vlseg8e16.v v0, (a2) |
| 251 | li t1, 3 | ||
| 255 | jal t0, ff_vc1_inv_trans_8_rvv | 252 | jal t0, ff_vc1_inv_trans_8_rvv |
| 256 | vsseg8e16.v v0, (a2) | 253 | vsseg8e16.v v0, (a2) |
| 257 | addi a3, a2, 1 * 8 * 2 | 254 | addi a3, a2, 1 * 8 * 2 |
| @@ -262,10 +259,6 @@ func ff_vc1_inv_trans_8x4_rvv, zve32x · 4 unmodified lines | |||
| 262 | addi a5, a2, 3 * 8 * 2 | 259 | addi a5, a2, 3 * 8 * 2 |
| 263 | vle16.v v2, (a4) | 260 | vle16.v v2, (a4) |
| 264 | vle16.v v3, (a5) | 261 | vle16.v v3, (a5) |
| 265 | .irp n,0,1,2,3 | ||
| 266 | # shift 4 vectors of 8 elems after transpose instead of 8 of 4 | ||
| 267 | vssra.vi v\n, v\n, 3 | ||
| 268 | .endr | ||
| 269 | li t1, 7 | 262 | li t1, 7 |
| 270 | jal t0, ff_vc1_inv_trans_4_rvv | 263 | jal t0, ff_vc1_inv_trans_4_rvv |
| 271 | add a3, a1, a0 | 264 | add a3, a1, a0 |
| @@ -320,33 +313,21 @@ func ff_vc1_inv_trans_4x8_rvv, zve32x · 48 unmodified lines | |||
| 320 | addi t1, a2, 7 * 8 * 2 | 313 | addi t1, a2, 7 * 8 * 2 |
| 321 | vle16.v v6, (t6) | 314 | vle16.v v6, (t6) |
| 322 | vle16.v v7, (t1) | 315 | vle16.v v7, (t1) |
| 323 | 316 | li t1, 7 | |
| 324 | jal t0, ff_vc1_inv_trans_8_rvv | 317 | jal t0, ff_vc1_inv_trans_8_rvv |
| 325 | vadd.vi v4, v4, 1 | ||
| 326 | add t0, a1, a0 | 318 | add t0, a1, a0 |
| 327 | vadd.vi v5, v5, 1 | ||
| 328 | vadd.vi v6, v6, 1 | ||
| 329 | add t1, a1, t0 | ||
| 330 | vadd.vi v7, v7, 1 | ||
| 331 | vssra.vi v0, v0, 7 | ||
| 332 | add t2, a1, t1 | ||
| 333 | vssra.vi v1, v1, 7 | ||
| 334 | vssra.vi v2, v2, 7 | ||
| 335 | add t3, a1, t2 | ||
| 336 | vssra.vi v3, v3, 7 | ||
| 337 | vssra.vi v4, v4, 7 | ||
| 338 | add t4, a1, t3 | ||
| 339 | vssra.vi v5, v5, 7 | ||
| 340 | vssra.vi v6, v6, 7 | ||
| 341 | add t5, a1, t4 | ||
| 342 | vssra.vi v7, v7, 7 | ||
| 343 | vle8.v v8, (a0) | 319 | vle8.v v8, (a0) |
| 344 | add t6, a1, t5 | 320 | add t1, a1, t0 |
| 345 | vle8.v v9, (t0) | 321 | vle8.v v9, (t0) |
| 322 | add t2, a1, t1 | ||
| 346 | vle8.v v10, (t1) | 323 | vle8.v v10, (t1) |
| 324 | add t3, a1, t2 | ||
| 347 | vle8.v v11, (t2) | 325 | vle8.v v11, (t2) |
| 326 | add t4, a1, t3 | ||
| 348 | vle8.v v12, (t3) | 327 | vle8.v v12, (t3) |
| 328 | add t5, a1, t4 | ||
| 349 | vle8.v v13, (t4) | 329 | vle8.v v13, (t4) |
| 330 | add t6, a1, t5 | ||
| 350 | vle8.v v14, (t5) | 331 | vle8.v v14, (t5) |
| 351 | vle8.v v15, (t6) | 332 | vle8.v v15, (t6) |
| 352 | vsetvli zero, zero, e8, mf4, ta, ma | 333 | vsetvli zero, zero, e8, mf4, ta, ma |