[FFmpeg-devel] [PATCH] avcodec/mips: Support old style mmi instruction mnemonics

Jiaxun Yang jiaxun.yang at flygoat.com
Fri Jan 28 14:55:52 EET 2022



在2021年8月2日八月 上午9:33,yinshiyou-hf at loongson.cn写道:
>> -----原始邮件-----
>> 发件人: "Jiaxun Yang" <jiaxun.yang at flygoat.com>
>> 发送时间: 2021-08-02 13:40:54 (星期一)
>> 收件人: "FFmpeg development discussions and patches" <ffmpeg-devel at ffmpeg.org>, yinshiyou-hf at loongson.cn
>> 抄送: 
>> 主题: Re: [FFmpeg-devel] [PATCH] avcodec/mips: Support old style mmi instruction mnemonics
>> 
>> 
>> 在 2021/7/29 20:26, Jiaxun Yang 写道:
>> >
>> > 在2021年7月29日七月 下午5:29,yinshiyou-hf at loongson.cn写道:
>> >>> -----原始邮件-----
>> >>> 发件人: "Jiaxun Yang" <jiaxun.yang at flygoat.com>
>> >>> 发送时间: 2021-07-29 14:32:35 (星期四)
>> >>> 收件人: ffmpeg-devel at ffmpeg.org
>> >>> 抄送: yinshiyou-hf at loongson.cn, "Jiaxun Yang" <jiaxun.yang at flygoat.com>
>> >>> 主题: [PATCH] avcodec/mips: Support old style mmi instruction mnemonics
>> >>>
>> >>> Loongson had renamed serval instruction mnemonics to distinguish
>> >>> integral and simd opreations. In ebedd26 ("libavcodec/mips: Fix
>> >>> specification of instruction name"), all old style mnemonics are
>> >>> replaced by the new one.
>> >>> However, upstream GCC doesn't support new style mnemonics, it breaks
>> >>> build.
>> >>> As stated by Loongson, their GCC toolchain support both style while
>> >>> clang only support the new one, we'll use new style for clang only.
>> >>>
>> >>> Signed-off-by: Jiaxun Yang <jiaxun.yang at flygoat.com>
>> >>> ---
>> >>>   libavcodec/mips/blockdsp_mmi.c    |   8 +-
>> >>>   libavcodec/mips/h264chroma_mmi.c  |  20 +--
>> >>>   libavcodec/mips/h264dsp_mmi.c     | 288 +++++++++++++++---------------
>> >>>   libavcodec/mips/h264pred_mmi.c    |  18 +-
>> >>>   libavcodec/mips/h264qpel_mmi.c    |  26 +--
>> >>>   libavcodec/mips/hevcdsp_mmi.c     |  32 ++--
>> >>>   libavcodec/mips/hpeldsp_mmi.c     |  26 +--
>> >>>   libavcodec/mips/idctdsp_mmi.c     |   2 +-
>> >>>   libavcodec/mips/mpegvideo_mmi.c   |  94 +++++-----
>> >>>   libavcodec/mips/pixblockdsp_mmi.c |   8 +-
>> >>>   libavcodec/mips/simple_idct_mmi.c |  14 +-
>> >>>   libavcodec/mips/vc1dsp_mmi.c      |  34 ++--
>> >>>   libavcodec/mips/vp3dsp_idct_mmi.c | 132 +++++++-------
>> >>>   libavcodec/mips/vp8dsp_mmi.c      |  80 ++++-----
>> >>>   libavcodec/mips/vp9_mc_mmi.c      |  10 +-
>> >>>   libavcodec/mips/wmv2dsp_mmi.c     |   2 +-
>> >>>   libavutil/mips/mmiutils.h         |  22 +++
>> >>>   17 files changed, 419 insertions(+), 397 deletions(-)
>> >>
>> >> I suggest adding 'pxor' check in configure
>> > Hmm, I don't think it's worthy to hava a configure option for this.
>> >
>> >> and adding 'pxor' support in upstream gcc/clang.
>> 
>> 
>> Are you going to input anything?
>> 
>> If not I may request TC comment next week.
>> 
>> Downstream users are complaining about the breakage.
>> 
>> Thanks.
>> 
>> - Jiaxun
>> 
>> 
>> > For clang I don't think it's possible as we don't have loongson mmi support in upstream codebase.
>> >
>> > For GCC I'd like to have a try but I need a full list of instructions needs to be converted as I asked in another thread.
>> >
>> > Also given that we've already have many users with older toolchain and it's impossible to let them upgrade at once, this method could address the issue without trouble present users.
>> >
>> > Thanks.
>> >
>
>
> 1. What I mean adding 'pxor' check in configure is just replace 
> 'punpcklhw' with 'pxor'. Refer to jinbo's patch,it can workaround the 
> build failed.

Sorry but I must revisit this patch, as I recieved much complains from
both downsream distros and users.

Debian complains about that, Loongson-2K users using old Loongnix complained
that, NeoKylin users complained that.

I'll revisit and send v2 soonish.

Thanks.

-- 
- Jiaxun


More information about the ffmpeg-devel mailing list