> 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".