opencv/cmake/checks
HAN Liutong b5ea32158a
Merge pull request #25883 from hanliutong:rvv-intrin-upgrade
Upgrade RISC-V Vector intrinsic and cleanup the obsolete RVV backend. #25883

This patch upgrade RISC-V Vector intrinsic from `v0.10` to `v0.12`/`v1.0`:
- Update cmake check and options;
- Upgrade RVV implement for Universal Intrinsic;
- Upgrade RVV optimized DNN kernel.
- Cleanup the obsolete RVV backend (`intrin_rvv.hpp`) and compatable header file.

With this patch, RVV backend require Clang 17+ or GCC 14+ (which means `__riscv_v_intrinsic >= 12000`, see https://godbolt.org/z/es7ncETE3)

This patch is test with Clang 17.0.6 (require extra `-DWITH_PNG=OFF` due to ICE), Clang 18.1.8 and GCC 14.1.0 on QEMU and k230 (with `--gtest_filter="*hal_*"`).

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [ ] The PR is proposed to the proper branch
- [ ] There is a reference to the original bug report and related work
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake
2024-07-19 11:41:42 +03:00
..
runtime cmake:vsx Fix compilation fail on aligned runtime test when c++11 enabled 2019-03-21 11:21:00 +02:00
atomic_check.cpp cmake: use 'long long' for atomic check 2019-09-18 15:18:09 +00:00
cann.cpp dnn: add the CANN backend (#22634) 2022-12-21 09:04:41 +03:00
cpu_avx2.cpp build: update AVX2 check 2019-10-08 13:12:02 +03:00
cpu_avx512.cpp CPU dispatching: additional AVX-512 check for mingw-w64 2018-02-25 15:12:53 +03:00
cpu_avx512clx.cpp fix avx512 detection 2019-10-05 11:03:57 +00:00
cpu_avx512cnl.cpp Merge pull request #14007 from seiko2plus:core_avx512_infa 2019-05-05 14:19:49 +03:00
cpu_avx512common.cpp Merge pull request #14007 from seiko2plus:core_avx512_infa 2019-05-05 14:19:49 +03:00
cpu_avx512icl.cpp fix avx512 detection 2019-10-05 11:03:57 +00:00
cpu_avx512knl.cpp Merge pull request #14007 from seiko2plus:core_avx512_infa 2019-05-05 14:19:49 +03:00
cpu_avx512knm.cpp Merge pull request #14007 from seiko2plus:core_avx512_infa 2019-05-05 14:19:49 +03:00
cpu_avx512skx.cpp AVX 512 detection: workaround for older GCC 2019-06-07 13:58:09 +03:00
cpu_avx.cpp cmake: support multiple CPU targets 2017-02-13 19:52:59 +03:00
cpu_fp16.cpp Disable fp16 instructions detection on Windows ARM64 because of build issues #25052. 2024-02-22 12:52:26 +03:00
cpu_lasx.cpp Add Loongson Advanced SIMD Extension support: -DCPU_BASELINE=LASX 2022-09-10 09:39:43 +03:00
cpu_lsx.cpp Merge pull request #23929 from CNClareChen:4.x 2023-10-20 14:20:09 +03:00
cpu_msa.cpp fix files permissions 2020-04-13 04:29:55 +00:00
cpu_neon_bf16.cpp prepare to build for ARM64 on Windows with Visual Studio 2023-12-19 09:40:35 +09:00
cpu_neon_dotprod.cpp prepare to build for ARM64 on Windows with Visual Studio 2023-12-19 09:40:35 +09:00
cpu_neon_fp16.cpp prepare to build for ARM64 on Windows with Visual Studio 2023-12-19 09:40:35 +09:00
cpu_neon.cpp Merge pull request #25024 from vrabaud:neon 2024-02-20 11:29:23 +03:00
cpu_popcnt.cpp cmake: fix popcnt detection 2018-04-24 12:40:25 +03:00
cpu_rvv.cpp Merge pull request #25883 from hanliutong:rvv-intrin-upgrade 2024-07-19 11:41:42 +03:00
cpu_sse2.cpp cmake: support multiple CPU targets 2017-02-13 19:52:59 +03:00
cpu_sse3.cpp cmake: support multiple CPU targets 2017-02-13 19:52:59 +03:00
cpu_sse41.cpp cmake: support multiple CPU targets 2017-02-13 19:52:59 +03:00
cpu_sse42.cpp cmake: fix POPCNT & SSE4.2 detection code 2017-04-26 18:59:43 +03:00
cpu_sse.cpp cmake: support multiple CPU targets 2017-02-13 19:52:59 +03:00
cpu_ssse3.cpp cmake: support multiple CPU targets 2017-02-13 19:52:59 +03:00
cpu_vsx3.cpp core: several improves and fixes on ppc64le infrastructure 2018-11-20 15:28:46 +00:00
cpu_vsx_asm.cpp core:vsx fix inline asm constraints 2020-01-28 15:48:00 +02:00
cpu_vsx.cpp core: several improves and fixes on ppc64le infrastructure 2018-11-20 15:28:46 +00:00
cxx11.cpp cmake: update CXX11 compiler flag 2017-07-03 16:13:12 +03:00
directml.cpp Merge pull request #24060 from TolyaTalamanov:at/advanced-device-selection-onnxrt-directml 2023-11-16 08:49:53 +03:00
directx.cpp Merge pull request #22462 from Biswa96:fix-directx-check 2022-10-03 08:37:36 +03:00
ffmpeg_test.cpp Fix ffmpeg detection with -D OPENCV_WARNINGS_ARE_ERRORS=ON option. 2017-07-02 01:59:41 +02:00
framebuffer.cpp Merge pull request #25661 from itlab-vision:framebuffer 2024-06-26 15:31:19 +03:00
lapack_check.cpp core(lapack): fix build issues related to 'extern "C"' 2018-01-24 14:53:04 +03:00
opencl.cpp ocl: OpenCL headers are located in "CL" subfolder (3rdparty/include) 2016-02-11 12:44:45 +03:00
OpenCVDetectCudaArch.cu Fix comment marker in OpenCVDetectCudaArch.cu 2018-12-04 11:47:28 -08:00
openvx_refenum_test.cpp Updated OpenVX detector and wrappers to handle Reference attribute names change 2017-03-22 16:50:38 +03:00
vtk_test.cpp cmake: add compilation test for VTK 2018-04-10 18:09:54 +03:00
vulkan.cpp Merge pull request #12703 from wzw-intel:vkcom 2018-10-29 17:51:26 +03:00
webnn.cpp Merge pull request #20406 from MarkGHX:gsoc_2021_webnn 2021-11-23 21:15:31 +00:00
win32uitest.cpp Converted tabs to spaces. 2013-08-21 18:59:26 +04:00