[FFmpeg-devel] [PATCH 3/3] riscv: add float vector-scalar multiplication

Lynne dev at lynne.ee
Sat Sep 3 22:48:45 EEST 2022


Sep 3, 2022, 21:34 by remi at remlab.net:

> Le lauantaina 3. syyskuuta 2022, 22.11.26 EEST Lynne a écrit :
>
>> > diff --git a/libavutil/riscv/float_dsp_rvv.S
>> > b/libavutil/riscv/float_dsp_rvv.S new file mode 100644
>> > index 0000000000..54ea1d9d6d
>> > --- /dev/null
>> > +++ b/libavutil/riscv/float_dsp_rvv.S
>> > @@ -0,0 +1,60 @@
>> > +/*
>> > + * 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 + */
>> > +
>> > +#include "config.h"
>> > +#include "asm.h"
>> > +
>> > +        .option  arch, +v
>> > +
>> > +func ff_vector_fmul_scalar_rvv
>> > +#if !defined (__riscv_float_abi_soft)
>> > +        srli     a2, a2, 2
>> > +#else
>> > +        fmv.w.x  fa0, a2
>> > +        srli     a2, a3, 2
>> > +#endif
>>
>> Can't this be handled by a macro, like it's done by arm64 and x86?
>>
>
> Err, from a quick glance, the float DSP code for AArch64 just assumes a 
> hardware floating ABI, and has no conditionals, so I'm not sure what you mean 
> by that. Do you mean something like VFP/NOVFP on AArch32?
>

I meant all ABI stuff to be handled by macros, either `func` or the instructions
themselves.



More information about the ffmpeg-devel mailing list