[FFmpeg-devel] [PATCH] lavc/ac3: add R-V Zbb extract_exponents

Zhao Zhili quinkblack at foxmail.com
Sun Dec 3 19:50:18 EET 2023



> On Oct 3, 2023, at 00:47, Rémi Denis-Courmont <remi at 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.

https://discourse.llvm.org/t/how-to-run-clang-llvm-for-riscv-target-machine-for-bitmanip-extension/64662

> 2.42.0
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".



More information about the ffmpeg-devel mailing list