New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RISC-V: allow building scalable RVV support with GCC, LLVM 16 support #23383
Conversation
593ae6b
to
b12c145
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍
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.