1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-26 05:43:05 +04:00
Files
opencv/modules/core/src
Liutong HAN 97abffbdac Merge pull request #27006 from hanliutong:rvv-fix-ui-1024
Fix issues in RISC-V Vector (RVV) Universal Intrinsic #27006

This PR aims to make `opencv_test_core` pass on RVV, via following two parts:

1. Fix bug in Universal Intrinsic when VLEN >= 512:
- `max_nlanes` should be multiplied by 2, because we use LMUL=2 in RVV Universal Intrinsic since #26318.
- Related tests are also expanded to match longer registers
- Relax the precision threshold of `v_erf` to make the tests pass

2. Temporary fix  #26936
- Disable 3 Universal Intrinsic code blocks on GCC
- This is just a temporary fix until we figure out if it's our issue or GCC/something else's

This patch is tested under the following conditions:
- Compier: GCC 14.2, Clang 19.1.7
- Device: Muse-Pi (VLEN=256), QEMU (VLEN=512, 1024)


### 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
2025-03-04 16:49:59 +03:00
..
2025-01-19 02:46:25 -05:00
2024-03-05 12:15:39 +03:00
2024-03-05 12:15:39 +03:00
2018-09-07 20:33:52 +09:00
2021-03-02 23:24:28 +00:00
2019-03-05 14:47:04 +03:00
2018-09-07 20:33:52 +09:00
2022-03-03 07:21:53 +09:00
2019-12-27 12:46:53 +00:00
2024-03-29 11:01:42 +03:00
2024-03-05 12:15:39 +03:00
2024-03-05 12:15:39 +03:00
2022-12-07 23:58:36 +00:00
2024-03-05 12:15:39 +03:00
2025-01-13 16:34:28 +01:00
2025-02-25 02:31:02 +00:00
2024-10-11 02:18:14 +02:00
2025-01-13 16:34:28 +01:00
2021-03-02 23:24:28 +00:00
2018-02-12 14:14:08 +03:00
2018-08-27 14:42:18 +03:00
2024-03-05 12:15:39 +03:00
2024-03-05 12:15:39 +03:00