mirror of
https://github.com/opencv/opencv.git
synced 2024-11-30 22:40:17 +08:00
d142a796d8
* Optimize some function with lasx. Optimize some function with lasx. #23929 This patch optimizes some lasx functions and reduces the runtime of opencv_test_core from 662,238ms to 633603ms on the 3A5000 platform. ### 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 - [x] The PR is proposed to the proper branch - [x] There is a reference to the original bug report and related work - [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable Patch to opencv_extra has the same branch name. - [x] The feature is well documented and sample code can be built with the project CMake
16 lines
278 B
C++
16 lines
278 B
C++
#include <stdio.h>
|
|
#include <lsxintrin.h>
|
|
|
|
int test()
|
|
{
|
|
const float src[] = { 0.0f, 1.0f, 2.0f, 3.0f};
|
|
v4f32 val = (v4f32)__lsx_vld((const float*)(src), 0);
|
|
return __lsx_vpickve2gr_w(__lsx_vftint_w_s(val), 3);
|
|
}
|
|
|
|
int main()
|
|
{
|
|
printf("%d\n", test());
|
|
return 0;
|
|
}
|