[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