mirror of
https://github.com/opencv/opencv.git
synced 2024-11-25 11:40:44 +08:00
b1ea91d8bd
* Added MSA implementations for mips platforms. Intrinsics for MSA and build scripts for MIPS platforms are added. Signed-off-by: Fei Wu <fwu@wavecomp.com> * Removed some unused code in mips.toolchain.cmake. Signed-off-by: Fei Wu <fwu@wavecomp.com> * Added comments for mips toolchain configuration and disabled compiling warnings for libpng. Signed-off-by: Fei Wu <fwu@wavecomp.com> * Fixed the build error of unsupported opcode 'pause' when mips isa_rev is less than 2. Signed-off-by: Fei Wu <fwu@wavecomp.com> * 1. Removed FP16 related item in MSA option defines in OpenCVCompilerOptimizations.cmake. 2. Use CV_CPU_COMPILE_MSA instead of __mips_msa for MSA feature check in cv_cpu_dispatch.h. 3. Removed hasSIMD128() in intrin_msa.hpp. 4. Define CPU_MSA as 150. Signed-off-by: Fei Wu <fwu@wavecomp.com> * 1. Removed unnecessary CV_SIMD128_64F guarding in intrin_msa.hpp. 2. Removed unnecessary CV_MSA related code block in dotProd_8u(). Signed-off-by: Fei Wu <fwu@wavecomp.com> * 1. Defined CPU_MSA_FLAGS_ON as "-mmsa". 2. Removed CV_SIMD128_64F guardings in intrin_msa.hpp. Signed-off-by: Fei Wu <fwu@wavecomp.com> * Removed unused msa_mlal_u16() and msa_mlal_s16 from msa_macros.h. Signed-off-by: Fei Wu <fwu@wavecomp.com>
24 lines
393 B
C++
Executable File
24 lines
393 B
C++
Executable File
#include <stdio.h>
|
|
|
|
#if defined(__mips_msa)
|
|
# include <msa.h>
|
|
# define CV_MSA 1
|
|
#endif
|
|
|
|
#if defined CV_MSA
|
|
int test()
|
|
{
|
|
const float src[] = { 0.0f, 0.0f, 0.0f, 0.0f };
|
|
v4f32 val = (v4f32)__msa_ld_w((const float*)(src), 0);
|
|
return __msa_copy_s_w(__builtin_msa_ftint_s_w (val), 0);
|
|
}
|
|
#else
|
|
#error "MSA is not supported"
|
|
#endif
|
|
|
|
int main()
|
|
{
|
|
printf("%d\n", test());
|
|
return 0;
|
|
}
|