You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
GCC does not support "overloaded RVV intrinsics", but we can add some of them in our code
LLVM since version 16 uses __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 GCC still does not work due to toolchain issue or limitation
extract overloaded intsinsics implementation to separate header
macros for overloaded intrinsics looks too broad, maybe convert them to function macros / inline functions / undef? used headers from RISC-V collab as is
clean-up the code - reduce modifications
Note: 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.
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!
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: ***@***.***>
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.