forked from FFmpeg/FFmpeg
lavc/riscv: require B or zba explicitly
This commit is contained in:
parent
7f97344bfb
commit
187d4d066a
29 changed files with 129 additions and 83 deletions
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
func ff_abs_pow34_rvv, zve32f
|
func ff_abs_pow34_rvv, zve32f, zba
|
||||||
1:
|
1:
|
||||||
vsetvli t0, a2, e32, m8, ta, ma
|
vsetvli t0, a2, e32, m8, ta, ma
|
||||||
sub a2, a2, t0
|
sub a2, a2, t0
|
||||||
|
@ -38,7 +38,7 @@ func ff_abs_pow34_rvv, zve32f
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_aac_quant_bands_rvv, zve32f
|
func ff_aac_quant_bands_rvv, zve32f, zba
|
||||||
NOHWF fmv.w.x fa0, a6
|
NOHWF fmv.w.x fa0, a6
|
||||||
NOHWF fmv.w.x fa1, a7
|
NOHWF fmv.w.x fa1, a7
|
||||||
fcvt.s.w ft0, a5
|
fcvt.s.w ft0, a5
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
func ff_ps_add_squares_rvv, zve64f
|
func ff_ps_add_squares_rvv, zve64f, zba
|
||||||
li t1, 32
|
li t1, 32
|
||||||
1:
|
1:
|
||||||
vsetvli t0, a2, e32, m4, ta, ma
|
vsetvli t0, a2, e32, m4, ta, ma
|
||||||
|
@ -39,7 +39,7 @@ func ff_ps_add_squares_rvv, zve64f
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_ps_mul_pair_single_rvv, zve32f
|
func ff_ps_mul_pair_single_rvv, zve32f, zba
|
||||||
1:
|
1:
|
||||||
vsetvli t0, a3, e32, m4, ta, ma
|
vsetvli t0, a3, e32, m4, ta, ma
|
||||||
vlseg2e32.v v24, (a1)
|
vlseg2e32.v v24, (a1)
|
||||||
|
@ -134,7 +134,7 @@ NOHWD flw fs\n, (4 * \n)(sp)
|
||||||
.purgem filter
|
.purgem filter
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_ps_hybrid_analysis_ileave_rvv, zve32x /* no needs for zve32f here */
|
func ff_ps_hybrid_analysis_ileave_rvv, zve32x /* no zve32f here */, zba
|
||||||
slli t0, a2, 5 + 1 + 2 // ctz(32 * 2 * 4)
|
slli t0, a2, 5 + 1 + 2 // ctz(32 * 2 * 4)
|
||||||
sh2add a1, a2, a1
|
sh2add a1, a2, a1
|
||||||
add a0, a0, t0
|
add a0, a0, t0
|
||||||
|
@ -169,7 +169,7 @@ func ff_ps_hybrid_analysis_ileave_rvv, zve32x /* no needs for zve32f here */
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_ps_hybrid_synthesis_deint_rvv, zve64x
|
func ff_ps_hybrid_synthesis_deint_rvv, zve64x, zba
|
||||||
slli t0, a2, 5 + 1 + 2
|
slli t0, a2, 5 + 1 + 2
|
||||||
sh2add a0, a2, a0
|
sh2add a0, a2, a0
|
||||||
add a1, a1, t0
|
add a1, a1, t0
|
||||||
|
@ -207,7 +207,7 @@ func ff_ps_hybrid_synthesis_deint_rvv, zve64x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_ps_stereo_interpolate_rvv, zve32f, zbb
|
func ff_ps_stereo_interpolate_rvv, zve32f, b
|
||||||
vsetvli t0, zero, e32, m2, ta, ma
|
vsetvli t0, zero, e32, m2, ta, ma
|
||||||
vid.v v24
|
vid.v v24
|
||||||
flw ft0, (a2)
|
flw ft0, (a2)
|
||||||
|
|
|
@ -43,7 +43,7 @@ func ff_ac3_exponent_min_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_float_to_fixed24_rvv, zve32f
|
func ff_float_to_fixed24_rvv, zve32f, zba
|
||||||
li t1, 1 << 24
|
li t1, 1 << 24
|
||||||
fcvt.s.w f0, t1
|
fcvt.s.w f0, t1
|
||||||
1:
|
1:
|
||||||
|
@ -61,7 +61,7 @@ func ff_float_to_fixed24_rvv, zve32f
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
#if __riscv_xlen >= 64
|
#if __riscv_xlen >= 64
|
||||||
func ff_sum_square_butterfly_int32_rvv, zve64x
|
func ff_sum_square_butterfly_int32_rvv, zve64x, zba
|
||||||
vsetvli t0, zero, e64, m8, ta, ma
|
vsetvli t0, zero, e64, m8, ta, ma
|
||||||
vmv.v.x v0, zero
|
vmv.v.x v0, zero
|
||||||
vmv.v.x v8, zero
|
vmv.v.x v8, zero
|
||||||
|
@ -101,7 +101,7 @@ func ff_sum_square_butterfly_int32_rvv, zve64x
|
||||||
endfunc
|
endfunc
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
func ff_sum_square_butterfly_float_rvv, zve32f
|
func ff_sum_square_butterfly_float_rvv, zve32f, zba
|
||||||
vsetvli t0, zero, e32, m8, ta, ma
|
vsetvli t0, zero, e32, m8, ta, ma
|
||||||
vmv.v.x v0, zero
|
vmv.v.x v0, zero
|
||||||
vmv.v.x v8, zero
|
vmv.v.x v8, zero
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
func ff_extract_exponents_rvvb, zve32x, zvbb
|
func ff_extract_exponents_rvvb, zve32x, zvbb, zba
|
||||||
1:
|
1:
|
||||||
vsetvli t0, a2, e32, m8, ta, ma
|
vsetvli t0, a2, e32, m8, ta, ma
|
||||||
vle32.v v8, (a1)
|
vle32.v v8, (a1)
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
#if (__riscv_xlen == 64)
|
#if (__riscv_xlen == 64)
|
||||||
func ff_alac_decorrelate_stereo_rvv, zve32x
|
func ff_alac_decorrelate_stereo_rvv, zve32x, zba
|
||||||
ld a4, 8(a0)
|
ld a4, 8(a0)
|
||||||
ld a0, 0(a0)
|
ld a0, 0(a0)
|
||||||
1:
|
1:
|
||||||
|
@ -43,7 +43,7 @@ func ff_alac_decorrelate_stereo_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_alac_append_extra_bits_mono_rvv, zve32x
|
func ff_alac_append_extra_bits_mono_rvv, zve32x, zba
|
||||||
ld a0, (a0)
|
ld a0, (a0)
|
||||||
ld a1, (a1)
|
ld a1, (a1)
|
||||||
1:
|
1:
|
||||||
|
@ -61,7 +61,7 @@ func ff_alac_append_extra_bits_mono_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_alac_append_extra_bits_stereo_rvv, zve32x
|
func ff_alac_append_extra_bits_stereo_rvv, zve32x, zba
|
||||||
ld a6, 8(a0)
|
ld a6, 8(a0)
|
||||||
ld a0, (a0)
|
ld a0, (a0)
|
||||||
ld a7, 8(a1)
|
ld a7, 8(a1)
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
func ff_scalarproduct_int16_rvv, zve32x
|
func ff_scalarproduct_int16_rvv, zve32x, zba
|
||||||
vsetvli t0, zero, e32, m8, ta, ma
|
vsetvli t0, zero, e32, m8, ta, ma
|
||||||
vmv.v.x v8, zero
|
vmv.v.x v8, zero
|
||||||
vmv.s.x v0, zero
|
vmv.s.x v0, zero
|
||||||
|
@ -40,7 +40,7 @@ func ff_scalarproduct_int16_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_vector_clip_int32_rvv, zve32x
|
func ff_vector_clip_int32_rvv, zve32x, zba
|
||||||
1:
|
1:
|
||||||
vsetvli t0, a4, e32, m8, ta, ma
|
vsetvli t0, a4, e32, m8, ta, ma
|
||||||
vle32.v v8, (a1)
|
vle32.v v8, (a1)
|
||||||
|
@ -55,7 +55,7 @@ func ff_vector_clip_int32_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_vector_clipf_rvv, zve32f
|
func ff_vector_clipf_rvv, zve32f, zba
|
||||||
NOHWF fmv.w.x fa0, a3
|
NOHWF fmv.w.x fa0, a3
|
||||||
NOHWF fmv.w.x fa1, a4
|
NOHWF fmv.w.x fa1, a4
|
||||||
1:
|
1:
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
#include "libavutil/riscv/bswap_rvb.S"
|
#include "libavutil/riscv/bswap_rvb.S"
|
||||||
|
|
||||||
#if (__riscv_xlen >= 64)
|
#if (__riscv_xlen >= 64)
|
||||||
func ff_bswap32_buf_rvb, zbb
|
func ff_bswap32_buf_rvb, zba, zbb
|
||||||
bswap32_rvb a0, a1, a2
|
bswap32_rvb a0, a1, a2
|
||||||
endfunc
|
endfunc
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
func ff_bswap16_buf_rvv, zve32x
|
func ff_bswap16_buf_rvv, zve32x, zba
|
||||||
1:
|
1:
|
||||||
vsetvli t0, a2, e16, m8, ta, ma
|
vsetvli t0, a2, e16, m8, ta, ma
|
||||||
vle16.v v8, (a1)
|
vle16.v v8, (a1)
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
func ff_reorder_pixels_rvv, zve32x
|
func ff_reorder_pixels_rvv, zve32x, zba
|
||||||
srai a2, a2, 1
|
srai a2, a2, 1
|
||||||
add t1, a1, a2
|
add t1, a1, a2
|
||||||
1:
|
1:
|
||||||
|
|
48
libavcodec/riscv/fixed_vtype.S
Normal file
48
libavcodec/riscv/fixed_vtype.S
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Copyright © 2024 Rémi Denis-Courmont.
|
||||||
|
*
|
||||||
|
* This file is part of FFmpeg.
|
||||||
|
*
|
||||||
|
* FFmpeg is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* FFmpeg is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with FFmpeg; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define VILL -0x8000
|
||||||
|
|
||||||
|
.data
|
||||||
|
ff_vtype_e8:
|
||||||
|
ff_vtype_e8_1:
|
||||||
|
.half VILL
|
||||||
|
ff_vtype_e8_2:
|
||||||
|
.half VILL
|
||||||
|
ff_vtype_e8_4:
|
||||||
|
.half VILL
|
||||||
|
ff_vtype_e8_8:
|
||||||
|
.half VILL
|
||||||
|
ff_vtype_e8_16:
|
||||||
|
.half VILL
|
||||||
|
ff_vtype_e8_32:
|
||||||
|
.half VILL
|
||||||
|
|
||||||
|
ff_vtype_e16:
|
||||||
|
ff_vtype_e16_1:
|
||||||
|
.half VILL
|
||||||
|
ff_vtype_e16_2:
|
||||||
|
.half VILL
|
||||||
|
ff_vtype_e16_4:
|
||||||
|
.half VILL
|
||||||
|
ff_vtype_e16_8:
|
||||||
|
.half VILL
|
||||||
|
ff_vtype_e16_16:
|
||||||
|
.half VILL
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
func ff_flac_lpc16_rvv, zve32x, zbb
|
func ff_flac_lpc16_rvv, zve32x, b
|
||||||
vtype_vli t0, a2, t2, e32, ta, ma
|
vtype_vli t0, a2, t2, e32, ta, ma
|
||||||
vsetvl zero, a2, t0
|
vsetvl zero, a2, t0
|
||||||
vle32.v v8, (a1)
|
vle32.v v8, (a1)
|
||||||
|
@ -45,7 +45,7 @@ func ff_flac_lpc16_rvv, zve32x, zbb
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
#if (__riscv_xlen == 64)
|
#if (__riscv_xlen == 64)
|
||||||
func ff_flac_lpc32_rvv, zve64x
|
func ff_flac_lpc32_rvv, zve64x, zba
|
||||||
addi t2, a2, -16
|
addi t2, a2, -16
|
||||||
ble t2, zero, ff_flac_lpc32_rvv_simple
|
ble t2, zero, ff_flac_lpc32_rvv_simple
|
||||||
vsetivli zero, 1, e64, m1, ta, ma
|
vsetivli zero, 1, e64, m1, ta, ma
|
||||||
|
@ -76,7 +76,7 @@ func ff_flac_lpc32_rvv, zve64x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_flac_lpc32_rvv_simple, zve64x, zbb
|
func ff_flac_lpc32_rvv_simple, zve64x, b
|
||||||
vtype_vli t3, a2, t1, e64, ta, ma
|
vtype_vli t3, a2, t1, e64, ta, ma
|
||||||
vntypei t2, t3
|
vntypei t2, t3
|
||||||
vsetvl zero, a2, t3 // e64
|
vsetvl zero, a2, t3 // e64
|
||||||
|
@ -104,7 +104,7 @@ func ff_flac_lpc32_rvv_simple, zve64x, zbb
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_flac_lpc33_rvv, zve64x, zbb
|
func ff_flac_lpc33_rvv, zve64x, b
|
||||||
vtype_vli t0, a3, t1, e64, ta, ma
|
vtype_vli t0, a3, t1, e64, ta, ma
|
||||||
vsetvl zero, a3, t0
|
vsetvl zero, a3, t0
|
||||||
vmv.s.x v0, zero
|
vmv.s.x v0, zero
|
||||||
|
@ -132,7 +132,7 @@ func ff_flac_lpc33_rvv, zve64x, zbb
|
||||||
endfunc
|
endfunc
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
func ff_flac_wasted32_rvv, zve32x
|
func ff_flac_wasted32_rvv, zve32x, zba
|
||||||
1:
|
1:
|
||||||
vsetvli t0, a2, e32, m8, ta, ma
|
vsetvli t0, a2, e32, m8, ta, ma
|
||||||
vle32.v v8, (a0)
|
vle32.v v8, (a0)
|
||||||
|
@ -145,7 +145,7 @@ func ff_flac_wasted32_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_flac_wasted33_rvv, zve64x
|
func ff_flac_wasted33_rvv, zve64x, zba
|
||||||
srli t0, a2, 5
|
srli t0, a2, 5
|
||||||
li t1, 1
|
li t1, 1
|
||||||
bnez t0, 2f
|
bnez t0, 2f
|
||||||
|
@ -177,7 +177,7 @@ func ff_flac_wasted33_rvv, zve64x
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
#if (__riscv_xlen == 64)
|
#if (__riscv_xlen == 64)
|
||||||
func ff_flac_decorrelate_indep2_16_rvv, zve32x
|
func ff_flac_decorrelate_indep2_16_rvv, zve32x, zba
|
||||||
ld a0, (a0)
|
ld a0, (a0)
|
||||||
ld a2, 8(a1)
|
ld a2, 8(a1)
|
||||||
ld a1, (a1)
|
ld a1, (a1)
|
||||||
|
@ -200,7 +200,7 @@ func ff_flac_decorrelate_indep2_16_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_flac_decorrelate_indep4_16_rvv, zve32x
|
func ff_flac_decorrelate_indep4_16_rvv, zve32x, zba
|
||||||
ld a0, (a0)
|
ld a0, (a0)
|
||||||
ld a2, 8(a1)
|
ld a2, 8(a1)
|
||||||
ld t1, 16(a1)
|
ld t1, 16(a1)
|
||||||
|
@ -233,7 +233,7 @@ func ff_flac_decorrelate_indep4_16_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_flac_decorrelate_indep6_16_rvv, zve32x
|
func ff_flac_decorrelate_indep6_16_rvv, zve32x, zba
|
||||||
ld a0, (a0)
|
ld a0, (a0)
|
||||||
ld a2, 8(a1)
|
ld a2, 8(a1)
|
||||||
ld t1, 16(a1)
|
ld t1, 16(a1)
|
||||||
|
@ -278,7 +278,7 @@ func ff_flac_decorrelate_indep6_16_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_flac_decorrelate_indep8_16_rvv, zve32x
|
func ff_flac_decorrelate_indep8_16_rvv, zve32x, zba
|
||||||
ld a0, (a0)
|
ld a0, (a0)
|
||||||
ld a2, 8(a1)
|
ld a2, 8(a1)
|
||||||
ld t1, 16(a1)
|
ld t1, 16(a1)
|
||||||
|
@ -332,9 +332,7 @@ func ff_flac_decorrelate_indep8_16_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func ff_flac_decorrelate_ls_16_rvv, zve32x, zba
|
||||||
|
|
||||||
func ff_flac_decorrelate_ls_16_rvv, zve32x
|
|
||||||
ld a0, (a0)
|
ld a0, (a0)
|
||||||
ld a2, 8(a1)
|
ld a2, 8(a1)
|
||||||
ld a1, (a1)
|
ld a1, (a1)
|
||||||
|
@ -358,7 +356,7 @@ func ff_flac_decorrelate_ls_16_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_flac_decorrelate_rs_16_rvv, zve32x
|
func ff_flac_decorrelate_rs_16_rvv, zve32x, zba
|
||||||
ld a0, (a0)
|
ld a0, (a0)
|
||||||
ld a2, 8(a1)
|
ld a2, 8(a1)
|
||||||
ld a1, (a1)
|
ld a1, (a1)
|
||||||
|
@ -382,7 +380,7 @@ func ff_flac_decorrelate_rs_16_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_flac_decorrelate_ms_16_rvv, zve32x
|
func ff_flac_decorrelate_ms_16_rvv, zve32x, zba
|
||||||
ld a0, (a0)
|
ld a0, (a0)
|
||||||
ld a2, 8(a1)
|
ld a2, 8(a1)
|
||||||
ld a1, (a1)
|
ld a1, (a1)
|
||||||
|
@ -408,7 +406,7 @@ func ff_flac_decorrelate_ms_16_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_flac_decorrelate_indep2_32_rvv, zve32x
|
func ff_flac_decorrelate_indep2_32_rvv, zve32x, zba
|
||||||
ld a0, (a0)
|
ld a0, (a0)
|
||||||
ld a2, 8(a1)
|
ld a2, 8(a1)
|
||||||
ld a1, (a1)
|
ld a1, (a1)
|
||||||
|
@ -428,7 +426,7 @@ func ff_flac_decorrelate_indep2_32_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_flac_decorrelate_indep4_32_rvv, zve32x
|
func ff_flac_decorrelate_indep4_32_rvv, zve32x, zba
|
||||||
ld a0, (a0)
|
ld a0, (a0)
|
||||||
ld a2, 8(a1)
|
ld a2, 8(a1)
|
||||||
ld t1, 16(a1)
|
ld t1, 16(a1)
|
||||||
|
@ -457,7 +455,7 @@ func ff_flac_decorrelate_indep4_32_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_flac_decorrelate_indep6_32_rvv, zve32x
|
func ff_flac_decorrelate_indep6_32_rvv, zve32x, zba
|
||||||
ld a0, (a0)
|
ld a0, (a0)
|
||||||
ld a2, 8(a1)
|
ld a2, 8(a1)
|
||||||
ld t1, 16(a1)
|
ld t1, 16(a1)
|
||||||
|
@ -495,7 +493,7 @@ func ff_flac_decorrelate_indep6_32_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_flac_decorrelate_indep8_32_rvv, zve32x
|
func ff_flac_decorrelate_indep8_32_rvv, zve32x, zba
|
||||||
ld a0, (a0)
|
ld a0, (a0)
|
||||||
ld a2, 8(a1)
|
ld a2, 8(a1)
|
||||||
ld t1, 16(a1)
|
ld t1, 16(a1)
|
||||||
|
@ -540,7 +538,7 @@ func ff_flac_decorrelate_indep8_32_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_flac_decorrelate_ls_32_rvv, zve32x
|
func ff_flac_decorrelate_ls_32_rvv, zve32x, zba
|
||||||
ld a0, (a0)
|
ld a0, (a0)
|
||||||
ld a2, 8(a1)
|
ld a2, 8(a1)
|
||||||
ld a1, (a1)
|
ld a1, (a1)
|
||||||
|
@ -561,7 +559,7 @@ func ff_flac_decorrelate_ls_32_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_flac_decorrelate_rs_32_rvv, zve32x
|
func ff_flac_decorrelate_rs_32_rvv, zve32x, zba
|
||||||
ld a0, (a0)
|
ld a0, (a0)
|
||||||
ld a2, 8(a1)
|
ld a2, 8(a1)
|
||||||
ld a1, (a1)
|
ld a1, (a1)
|
||||||
|
@ -582,7 +580,7 @@ func ff_flac_decorrelate_rs_32_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_flac_decorrelate_ms_32_rvv, zve32x
|
func ff_flac_decorrelate_ms_32_rvv, zve32x, zba
|
||||||
ld a0, (a0)
|
ld a0, (a0)
|
||||||
ld a2, 8(a1)
|
ld a2, 8(a1)
|
||||||
ld a1, (a1)
|
ld a1, (a1)
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
func ff_int32_to_float_fmul_scalar_rvv, zve32f
|
func ff_int32_to_float_fmul_scalar_rvv, zve32f, zba
|
||||||
NOHWF fmv.w.x fa0, a2
|
NOHWF fmv.w.x fa0, a2
|
||||||
NOHWF mv a2, a3
|
NOHWF mv a2, a3
|
||||||
1:
|
1:
|
||||||
|
@ -37,7 +37,7 @@ NOHWF mv a2, a3
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_int32_to_float_fmul_array8_rvv, zve32f
|
func ff_int32_to_float_fmul_array8_rvv, zve32f, zba
|
||||||
srai a4, a4, 3
|
srai a4, a4, 3
|
||||||
|
|
||||||
1: vsetvli t0, a4, e32, m1, ta, ma
|
1: vsetvli t0, a4, e32, m1, ta, ma
|
||||||
|
|
|
@ -325,7 +325,7 @@
|
||||||
ret
|
ret
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
func h264_put_chroma_mc_rvv, zve32x
|
func h264_put_chroma_mc_rvv, zve32x, zba
|
||||||
11:
|
11:
|
||||||
li a7, 3
|
li a7, 3
|
||||||
blt a3, a7, 12f
|
blt a3, a7, 12f
|
||||||
|
@ -334,7 +334,7 @@ func h264_put_chroma_mc_rvv, zve32x
|
||||||
do_chroma_mc put 0
|
do_chroma_mc put 0
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func h264_avg_chroma_mc_rvv, zve32x
|
func h264_avg_chroma_mc_rvv, zve32x, zba
|
||||||
21:
|
21:
|
||||||
li a7, 3
|
li a7, 3
|
||||||
blt a3, a7, 22f
|
blt a3, a7, 22f
|
||||||
|
|
|
@ -298,7 +298,7 @@ func ff_h264_idct8_add_8_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_h264_idct8_add_16_rvv, zve32x
|
func ff_h264_idct8_add_16_rvv, zve32x, zba
|
||||||
csrwi vxrm, 0
|
csrwi vxrm, 0
|
||||||
.Lidct8_add_16_rvv:
|
.Lidct8_add_16_rvv:
|
||||||
li a4, 8
|
li a4, 8
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
func ff_add_int16_rvv, zve32x
|
func ff_add_int16_rvv, zve32x, zba
|
||||||
1:
|
1:
|
||||||
vsetvli t0, a3, e16, m8, ta, ma
|
vsetvli t0, a3, e16, m8, ta, ma
|
||||||
vle16.v v16, (a0)
|
vle16.v v16, (a0)
|
||||||
|
@ -36,7 +36,7 @@ func ff_add_int16_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_add_hfyu_left_pred_bgr32_rvv, zve32x, zbb
|
func ff_add_hfyu_left_pred_bgr32_rvv, zve32x, b
|
||||||
vtype_ivli t1, 4, e8, ta, ma
|
vtype_ivli t1, 4, e8, ta, ma
|
||||||
li t0, 4
|
li t0, 4
|
||||||
vsetvl zero, t0, t1
|
vsetvl zero, t0, t1
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
func ff_ict_float_rvv, zve32f
|
func ff_ict_float_rvv, zve32f, zba
|
||||||
lla t0, ff_jpeg2000_f_ict_params
|
lla t0, ff_jpeg2000_f_ict_params
|
||||||
flw ft0, 0(t0)
|
flw ft0, 0(t0)
|
||||||
flw ft1, 4(t0)
|
flw ft1, 4(t0)
|
||||||
|
@ -48,7 +48,7 @@ func ff_ict_float_rvv, zve32f
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_rct_int_rvv, zve32x
|
func ff_rct_int_rvv, zve32x, zba
|
||||||
1:
|
1:
|
||||||
vsetvli t0, a3, e32, m8, ta, ma
|
vsetvli t0, a3, e32, m8, ta, ma
|
||||||
vle32.v v16, (a1)
|
vle32.v v16, (a1)
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
func ff_scalarproduct_and_madd_int16_rvv, zve32x
|
func ff_scalarproduct_and_madd_int16_rvv, zve32x, zba
|
||||||
vsetvli t0, zero, e32, m8, ta, ma
|
vsetvli t0, zero, e32, m8, ta, ma
|
||||||
vmv.v.x v0, zero
|
vmv.v.x v0, zero
|
||||||
1:
|
1:
|
||||||
|
@ -44,7 +44,7 @@ func ff_scalarproduct_and_madd_int16_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_scalarproduct_and_madd_int32_rvv, zve32x
|
func ff_scalarproduct_and_madd_int32_rvv, zve32x, zba
|
||||||
vsetvli t0, zero, e32, m8, ta, ma
|
vsetvli t0, zero, e32, m8, ta, ma
|
||||||
vmv.v.x v0, zero
|
vmv.v.x v0, zero
|
||||||
1:
|
1:
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
#if __riscv_xlen >= 64
|
#if __riscv_xlen >= 64
|
||||||
func ff_lpc_apply_welch_window_rvv, zve64d
|
func ff_lpc_apply_welch_window_rvv, zve64d, zba
|
||||||
vsetvli t0, zero, e64, m8, ta, ma
|
vsetvli t0, zero, e64, m8, ta, ma
|
||||||
vid.v v0
|
vid.v v0
|
||||||
addi t2, a1, -1
|
addi t2, a1, -1
|
||||||
|
@ -86,7 +86,7 @@ func ff_lpc_apply_welch_window_rvv, zve64d
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_lpc_compute_autocorr_rvv, zve64d, zbb
|
func ff_lpc_compute_autocorr_rvv, zve64d, b
|
||||||
vtype_vli t1, a2, t2, e64, ta, ma, 1
|
vtype_vli t1, a2, t2, e64, ta, ma, 1
|
||||||
addi a2, a2, 1
|
addi a2, a2, 1
|
||||||
li t0, 1
|
li t0, 1
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
func ff_opus_postfilter_rvv, zve32f, zbb
|
func ff_opus_postfilter_rvv, zve32f, b
|
||||||
flw fa0, 0(a2) // g0
|
flw fa0, 0(a2) // g0
|
||||||
slli t1, a1, 2
|
slli t1, a1, 2
|
||||||
flw fa1, 4(a2) // g1
|
flw fa1, 4(a2) // g1
|
||||||
|
|
|
@ -332,7 +332,7 @@
|
||||||
ret
|
ret
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
func ff_put_rv40_chroma_mc_rvv, zve32x
|
func ff_put_rv40_chroma_mc_rvv, zve32x, zba
|
||||||
11:
|
11:
|
||||||
li a7, 3
|
li a7, 3
|
||||||
blt a3, a7, 12f
|
blt a3, a7, 12f
|
||||||
|
@ -341,7 +341,7 @@ func ff_put_rv40_chroma_mc_rvv, zve32x
|
||||||
do_chroma_mc put 0
|
do_chroma_mc put 0
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_avg_rv40_chroma_mc_rvv, zve32x
|
func ff_avg_rv40_chroma_mc_rvv, zve32x, zba
|
||||||
21:
|
21:
|
||||||
li a7, 3
|
li a7, 3
|
||||||
blt a3, a7, 22f
|
blt a3, a7, 22f
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
func ff_sbr_sum64x5_rvv, zve32f
|
func ff_sbr_sum64x5_rvv, zve32f, zba
|
||||||
li a5, 64
|
li a5, 64
|
||||||
addi a1, a0, 64 * 4
|
addi a1, a0, 64 * 4
|
||||||
addi a2, a0, 128 * 4
|
addi a2, a0, 128 * 4
|
||||||
|
@ -49,7 +49,7 @@ func ff_sbr_sum64x5_rvv, zve32f
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_sbr_sum_square_rvv, zve32f
|
func ff_sbr_sum_square_rvv, zve32f, zba
|
||||||
vsetvli t0, zero, e32, m8, ta, ma
|
vsetvli t0, zero, e32, m8, ta, ma
|
||||||
slli a1, a1, 1
|
slli a1, a1, 1
|
||||||
vmv.v.x v8, zero
|
vmv.v.x v8, zero
|
||||||
|
@ -157,7 +157,7 @@ func ff_sbr_autocorrelate_rvv, zve32f
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_sbr_hf_gen_rvv, zve32f
|
func ff_sbr_hf_gen_rvv, zve32f, zba
|
||||||
NOHWF fmv.w.x fa0, a4
|
NOHWF fmv.w.x fa0, a4
|
||||||
NOHWF mv a4, a5
|
NOHWF mv a4, a5
|
||||||
NOHWF mv a5, a6
|
NOHWF mv a5, a6
|
||||||
|
@ -207,7 +207,7 @@ NOHWF mv a5, a6
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_sbr_hf_g_filt_rvv, zve32f
|
func ff_sbr_hf_g_filt_rvv, zve32f, zba
|
||||||
li t1, 40 * 2 * 4
|
li t1, 40 * 2 * 4
|
||||||
sh3add a1, a4, a1
|
sh3add a1, a4, a1
|
||||||
1:
|
1:
|
||||||
|
@ -272,16 +272,16 @@ endfunc
|
||||||
ret
|
ret
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
func ff_sbr_hf_apply_noise_0_rvv, zve32f, zbb
|
func ff_sbr_hf_apply_noise_0_rvv, zve32f, b
|
||||||
hf_apply_noise 0
|
hf_apply_noise 0
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_sbr_hf_apply_noise_3_rvv, zve32f, zbb
|
func ff_sbr_hf_apply_noise_3_rvv, zve32f, b
|
||||||
not a4, a4 // invert parity of kx
|
not a4, a4 // invert parity of kx
|
||||||
// fall through
|
// fall through
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_sbr_hf_apply_noise_1_rvv, zve32f, zbb
|
func ff_sbr_hf_apply_noise_1_rvv, zve32f, b
|
||||||
vsetvli t0, zero, e32, m4, ta, ma
|
vsetvli t0, zero, e32, m4, ta, ma
|
||||||
vid.v v4
|
vid.v v4
|
||||||
vxor.vx v4, v4, a4
|
vxor.vx v4, v4, a4
|
||||||
|
@ -289,6 +289,6 @@ func ff_sbr_hf_apply_noise_1_rvv, zve32f, zbb
|
||||||
hf_apply_noise 1
|
hf_apply_noise 1
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_sbr_hf_apply_noise_2_rvv, zve32f, zbb
|
func ff_sbr_hf_apply_noise_2_rvv, zve32f, b
|
||||||
hf_apply_noise 2
|
hf_apply_noise 2
|
||||||
endfunc
|
endfunc
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
func ff_ssd_int8_vs_int16_rvv, zve32x
|
func ff_ssd_int8_vs_int16_rvv, zve32x, zba
|
||||||
vsetvli t0, zero, e32, m8, ta, ma
|
vsetvli t0, zero, e32, m8, ta, ma
|
||||||
vmv.v.x v24, zero
|
vmv.v.x v24, zero
|
||||||
1:
|
1:
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
func ff_decorrelate_ls_rvv, zve32x
|
func ff_decorrelate_ls_rvv, zve32x, zba
|
||||||
1:
|
1:
|
||||||
vsetvli t0, a2, e32, m8, ta, ma
|
vsetvli t0, a2, e32, m8, ta, ma
|
||||||
sub a2, a2, t0
|
sub a2, a2, t0
|
||||||
|
@ -35,7 +35,7 @@ func ff_decorrelate_ls_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_decorrelate_sr_rvv, zve32x
|
func ff_decorrelate_sr_rvv, zve32x, zba
|
||||||
1:
|
1:
|
||||||
vsetvli t0, a2, e32, m8, ta, ma
|
vsetvli t0, a2, e32, m8, ta, ma
|
||||||
vle32.v v0, (a0)
|
vle32.v v0, (a0)
|
||||||
|
@ -49,7 +49,7 @@ func ff_decorrelate_sr_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_decorrelate_sm_rvv, zve32x
|
func ff_decorrelate_sm_rvv, zve32x, zba
|
||||||
1:
|
1:
|
||||||
vsetvli t0, a2, e32, m8, ta, ma
|
vsetvli t0, a2, e32, m8, ta, ma
|
||||||
vle32.v v8, (a1)
|
vle32.v v8, (a1)
|
||||||
|
@ -67,7 +67,7 @@ func ff_decorrelate_sm_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_decorrelate_sf_rvv, zve32x
|
func ff_decorrelate_sf_rvv, zve32x, zba
|
||||||
csrwi vxrm, 0
|
csrwi vxrm, 0
|
||||||
1:
|
1:
|
||||||
vsetvli t0, a2, e32, m8, ta, ma
|
vsetvli t0, a2, e32, m8, ta, ma
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
func ff_restore_rgb_planes_rvv, zve32x
|
func ff_restore_rgb_planes_rvv, zve32x, zba
|
||||||
li t1, -0x80
|
li t1, -0x80
|
||||||
sub a3, a3, a6
|
sub a3, a3, a6
|
||||||
sub a4, a4, a6
|
sub a4, a4, a6
|
||||||
|
@ -52,7 +52,7 @@ func ff_restore_rgb_planes_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_restore_rgb_planes10_rvv, zve32x
|
func ff_restore_rgb_planes10_rvv, zve32x, zba
|
||||||
li t1, -0x200
|
li t1, -0x200
|
||||||
li t2, 0x3FF
|
li t2, 0x3FF
|
||||||
sub a3, a3, a6
|
sub a3, a3, a6
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
func ff_vc1_inv_trans_8x8_dc_rvv, zve64x
|
func ff_vc1_inv_trans_8x8_dc_rvv, zve64x, zba
|
||||||
lh t2, (a2)
|
lh t2, (a2)
|
||||||
vsetivli zero, 8, e8, mf2, ta, ma
|
vsetivli zero, 8, e8, mf2, ta, ma
|
||||||
vlse64.v v0, (a0), a1
|
vlse64.v v0, (a0), a1
|
||||||
|
@ -43,7 +43,7 @@ func ff_vc1_inv_trans_8x8_dc_rvv, zve64x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_vc1_inv_trans_4x8_dc_rvv, zve32x
|
func ff_vc1_inv_trans_4x8_dc_rvv, zve32x, zba
|
||||||
lh t2, (a2)
|
lh t2, (a2)
|
||||||
vsetivli zero, 8, e8, mf2, ta, ma
|
vsetivli zero, 8, e8, mf2, ta, ma
|
||||||
vlse32.v v0, (a0), a1
|
vlse32.v v0, (a0), a1
|
||||||
|
@ -67,7 +67,7 @@ func ff_vc1_inv_trans_4x8_dc_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_vc1_inv_trans_8x4_dc_rvv, zve64x
|
func ff_vc1_inv_trans_8x4_dc_rvv, zve64x, zba
|
||||||
lh t2, (a2)
|
lh t2, (a2)
|
||||||
vsetivli zero, 4, e8, mf4, ta, ma
|
vsetivli zero, 4, e8, mf4, ta, ma
|
||||||
vlse64.v v0, (a0), a1
|
vlse64.v v0, (a0), a1
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
func ff_vorbis_inverse_coupling_rvv, zve32f
|
func ff_vorbis_inverse_coupling_rvv, zve32f, zba
|
||||||
fmv.w.x ft0, zero
|
fmv.w.x ft0, zero
|
||||||
1:
|
1:
|
||||||
vsetvli t0, a2, e32, m4, ta, ma
|
vsetvli t0, a2, e32, m4, ta, ma
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
#if __riscv_xlen >= 64
|
#if __riscv_xlen >= 64
|
||||||
func ff_vp7_luma_dc_wht_rvv, zve32x
|
func ff_vp7_luma_dc_wht_rvv, zve32x, zba
|
||||||
li a2, 4 * 16 * 2
|
li a2, 4 * 16 * 2
|
||||||
li a7, 16 * 2
|
li a7, 16 * 2
|
||||||
jal t0, 1f
|
jal t0, 1f
|
||||||
|
|
|
@ -440,7 +440,7 @@ endconst
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro epel len size type
|
.macro epel len size type
|
||||||
func ff_put_vp8_epel\len\()_\type\()\size\()_rvv, zve32x
|
func ff_put_vp8_epel\len\()_\type\()\size\()_rvv, zve32x, zba
|
||||||
epel_filter \size \type t
|
epel_filter \size \type t
|
||||||
vsetvlstatic8 \len
|
vsetvlstatic8 \len
|
||||||
1:
|
1:
|
||||||
|
@ -455,7 +455,7 @@ endfunc
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro epel_hv len hsize vsize
|
.macro epel_hv len hsize vsize
|
||||||
func ff_put_vp8_epel\len\()_h\hsize\()v\vsize\()_rvv, zve32x
|
func ff_put_vp8_epel\len\()_h\hsize\()v\vsize\()_rvv, zve32x, zba
|
||||||
#if __riscv_xlen == 64
|
#if __riscv_xlen == 64
|
||||||
addi sp, sp, -48
|
addi sp, sp, -48
|
||||||
.irp n,0,1,2,3,4,5
|
.irp n,0,1,2,3,4,5
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include "libavutil/riscv/asm.S"
|
#include "libavutil/riscv/asm.S"
|
||||||
|
|
||||||
#if __riscv_xlen >= 64
|
#if __riscv_xlen >= 64
|
||||||
func ff_v_32x32_rvi
|
func ff_v_32x32_rvi, zba
|
||||||
ld t0, (a3)
|
ld t0, (a3)
|
||||||
ld t1, 8(a3)
|
ld t1, 8(a3)
|
||||||
ld t2, 16(a3)
|
ld t2, 16(a3)
|
||||||
|
@ -42,7 +42,7 @@ func ff_v_32x32_rvi
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_v_16x16_rvi
|
func ff_v_16x16_rvi, zba
|
||||||
ld t0, (a3)
|
ld t0, (a3)
|
||||||
ld t1, 8(a3)
|
ld t1, 8(a3)
|
||||||
.rept 8
|
.rept 8
|
||||||
|
@ -57,7 +57,7 @@ func ff_v_16x16_rvi
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_v_8x8_rvi
|
func ff_v_8x8_rvi, zba
|
||||||
ld t0, (a3)
|
ld t0, (a3)
|
||||||
.rept 4
|
.rept 4
|
||||||
add a7, a0, a1
|
add a7, a0, a1
|
||||||
|
|
Loading…
Add table
Reference in a new issue