RISC-V: allow building scalable RVV support with GCC, LLVM 16 support#23383
RISC-V: allow building scalable RVV support with GCC, LLVM 16 support#23383opencv-pushbot merged 1 commit intoopencv:4.xfrom
Conversation
593ae6b to
b12c145
Compare
|
Can you use upstream GCC (GCC 13.0) test? We don't maintain rvv-next any more. All update upstream GCC directely. |
|
@zhongjuzhe Thank you for the information! |
|
It seems that RISC-V toolchain doesn't bump to latest upstream GCC. I think you can file an issue to @kito-cheng and ask him to update the toolchain. Here is an simple example to verify that both GCC and LLVM are consisten each other with the same API doc: compiler explorer has showed that both GCC and LLVM are recognizing same API RVV. |
|
I've been able to build riscv-collab toolchain with the latest GCC by updating gcc submodule to master manually. It can build OpenCV with scalable RVV support, but failed to build non-scalable ( |
|
Thank you for trying.
Feel free file a bug here:
https://gcc.gnu.org/bugzilla/
if you see any compiler bug.
Thanks.
***@***.***
From: Maksim Shabunin
Date: 2023-04-17 18:21
To: opencv/opencv
CC: Ju-Zhe Zhong; Mention
Subject: Re: [opencv/opencv] RISC-V: allow building scalable RVV support with GCC, LLVM 16 support (PR #23383)
I've been able to build riscv-collab toolchain with the latest GCC by updating gcc submodule to master manually. It can build OpenCV with scalable RVV support, but failed to build non-scalable (intrin_rvv.hpp) variant. I'm going to take a closer look. @zhongjuzhe , thank you for guidance!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Related issue #22608
__riscv_<name>naming scheme (see related ticket), so we need to add compatibility headers to rename our 0.10 intinsics to the new scheme (also for some "overloaded intrinsics")TODO:
check and fix compilation with GCCstill does not work due to toolchain issue or limitationmacros for overloaded intrinsics looks too broad, maybe convert them to function macros / inline functions / undef?used headers from RISC-V collab as isNote: scalable RVV compilation using GCC still does not work (T-Head 2.6.1 and RISC-V Collab Toolchain@rvv_next) due to compiler issues or limitations. More analysis needed.