> On Dec 4, 2023, at 04:11, Rémi Denis-Courmont <r...@remlab.net> wrote:
> 
> 
> 
> Le 3 décembre 2023 19:50:18 GMT+02:00, Zhao Zhili <quinkbl...@foxmail.com 
> <mailto:quinkbl...@foxmail.com>> a écrit :
>> 
>> 
>>> On Oct 3, 2023, at 00:47, Rémi Denis-Courmont <r...@remlab.net> wrote:
>>> 
>>> 
>>> diff --git a/libavcodec/riscv/ac3dsp_rvb.S b/libavcodec/riscv/ac3dsp_rvb.S
>>> new file mode 100644
>>> index 0000000000..48f8bb101e
>>> --- /dev/null
>>> +++ b/libavcodec/riscv/ac3dsp_rvb.S
>>> 
>>> +func ff_extract_exponents_rvb, zbb
>>> +1:
>>> +        lw       t0, (a1)
>>> +        addi     a0, a0, 1
>>> +        neg      t1, t0
>>> +        addi     a1, a1, 4
>>> +        max      t0, t0, t1
>>> +        addi     a2, a2, -1
>>> +        clz      t0, t0
>>> +        addi     t0, t0, 24 - __riscv_xlen
>>> +        sb       t0, -1(a0)
>>> +        bgtz    a2, 1b
>>> +
>>> +        ret
>>> +endfunc
>>> —
>> 
>> Got build failure with clang 14:
>> 
>> <instantiation>:6:21: warning: unknown option, expected 'push', 'pop', 
>> 'rvc', 'norvc', 'relax' or 'norelax'
>>           .option arch, +zbb
>>                   ^
>> src/libavcodec/riscv/ac3dsp_rvb.S:24:1: note: while in macro instantiation
>> func ff_extract_exponents_rvb, zbb
>> ^
>> src/libavcodec/riscv/ac3dsp_rvb.S:30:9: error: instruction requires the 
>> following: 'Zbb' (Basic Bit-Manipulation)
>>       max t0, t0, t1
>>       ^
>> src/libavcodec/riscv/ac3dsp_rvb.S:32:9: error: instruction requires the 
>> following: 'Zbb' (Basic Bit-Manipulation)
>>       clz t0, t0
>>       ^
>> make: *** [/home/quink/work/ffmpeg/ffbuild/common.mak:93: 
>> libavcodec/riscv/ac3dsp_rvb.o] Error 1
>> make: *** Waiting for unfinished jobs....
>> <instantiation>:6:21: warning: unknown option, expected 'push', 'pop', 
>> 'rvc', 'norvc', 'relax' or 'norelax'
>>           .option arch, +f
>>                   ^
>> src/libavcodec/riscv/audiodsp_rvf.S:23:1: note: while in macro instantiation
>> func ff_vector_clipf_rvf, f
>> ^
>> 
>> Someone says clang 14 has Zbb extensions support. I don’t know what’s going 
>> on.
> 
> It's not practical to support such a broken assembler as LLVM built-in's 
> until they get their act together. You can add tests in FFmpeg configure but 
> that's just going to turn all optimisations off. You could also disable the 
> integrated assembler and use binutils, but then you'll hit the limitation of 
> FFmpeg's configure whereby it tests the inline assembler rather than the 
> outline one.
> 
> So really you're better off with GCC. RISC-V support on LLVM is pretty sad, 
> TBH.

OK, just check if this is an unknown issue. I’m totally fine to stay with GCC.

> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org <mailto:ffmpeg-devel@ffmpeg.org>
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-requ...@ffmpeg.org <mailto:ffmpeg-devel-requ...@ffmpeg.org> with 
> subject "unsubscribe".

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to