Commit 1138a38d authored by Maksim Shabunin's avatar Maksim Shabunin

Use explicit no-sse flags when SSE is off

Also:
- Silence clang warnings about unsupported command line arguments
- Add diagnostic print to calib3d test
- Fixed perf test relative error check
- Fix iOS build problem
parent 6a5f413f
...@@ -98,6 +98,10 @@ if(CMAKE_COMPILER_IS_GNUCXX) ...@@ -98,6 +98,10 @@ if(CMAKE_COMPILER_IS_GNUCXX)
add_extra_compiler_option(-pthread) add_extra_compiler_option(-pthread)
endif() endif()
if(CMAKE_COMPILER_IS_CLANGCXX)
add_extra_compiler_option(-Qunused-arguments)
endif()
if(OPENCV_WARNINGS_ARE_ERRORS) if(OPENCV_WARNINGS_ARE_ERRORS)
add_extra_compiler_option(-Werror) add_extra_compiler_option(-Werror)
endif() endif()
...@@ -127,6 +131,8 @@ if(CMAKE_COMPILER_IS_GNUCXX) ...@@ -127,6 +131,8 @@ if(CMAKE_COMPILER_IS_GNUCXX)
endif() endif()
if(ENABLE_SSE2) if(ENABLE_SSE2)
add_extra_compiler_option(-msse2) add_extra_compiler_option(-msse2)
elseif(X86 OR X86_64)
add_extra_compiler_option(-mno-sse2)
endif() endif()
if(ENABLE_NEON) if(ENABLE_NEON)
add_extra_compiler_option("-mfpu=neon") add_extra_compiler_option("-mfpu=neon")
...@@ -139,6 +145,8 @@ if(CMAKE_COMPILER_IS_GNUCXX) ...@@ -139,6 +145,8 @@ if(CMAKE_COMPILER_IS_GNUCXX)
if(NOT MINGW) if(NOT MINGW)
if(ENABLE_AVX) if(ENABLE_AVX)
add_extra_compiler_option(-mavx) add_extra_compiler_option(-mavx)
elseif(X86 OR X86_64)
add_extra_compiler_option(-mno-avx)
endif() endif()
if(ENABLE_AVX2) if(ENABLE_AVX2)
add_extra_compiler_option(-mavx2) add_extra_compiler_option(-mavx2)
...@@ -152,18 +160,26 @@ if(CMAKE_COMPILER_IS_GNUCXX) ...@@ -152,18 +160,26 @@ if(CMAKE_COMPILER_IS_GNUCXX)
if(NOT OPENCV_EXTRA_CXX_FLAGS MATCHES "-mavx") if(NOT OPENCV_EXTRA_CXX_FLAGS MATCHES "-mavx")
if(ENABLE_SSE3) if(ENABLE_SSE3)
add_extra_compiler_option(-msse3) add_extra_compiler_option(-msse3)
elseif(X86 OR X86_64)
add_extra_compiler_option(-mno-sse3)
endif() endif()
if(ENABLE_SSSE3) if(ENABLE_SSSE3)
add_extra_compiler_option(-mssse3) add_extra_compiler_option(-mssse3)
elseif(X86 OR X86_64)
add_extra_compiler_option(-mno-ssse3)
endif() endif()
if(ENABLE_SSE41) if(ENABLE_SSE41)
add_extra_compiler_option(-msse4.1) add_extra_compiler_option(-msse4.1)
elseif(X86 OR X86_64)
add_extra_compiler_option(-mno-sse4.1)
endif() endif()
if(ENABLE_SSE42) if(ENABLE_SSE42)
add_extra_compiler_option(-msse4.2) add_extra_compiler_option(-msse4.2)
elseif(X86 OR X86_64)
add_extra_compiler_option(-mno-sse4.2)
endif() endif()
if(ENABLE_POPCNT) if(ENABLE_POPCNT)
......
...@@ -183,6 +183,9 @@ protected: ...@@ -183,6 +183,9 @@ protected:
method, totalTestsCount - successfulTestsCount, totalTestsCount, maxError, mode); method, totalTestsCount - successfulTestsCount, totalTestsCount, maxError, mode);
ts->set_failed_test_info(cvtest::TS::FAIL_BAD_ACCURACY); ts->set_failed_test_info(cvtest::TS::FAIL_BAD_ACCURACY);
} }
cout << "mode: " << mode << ", method: " << method << " -> "
<< ((double)successfulTestsCount / totalTestsCount) * 100 << "%"
<< " (err < " << maxError << ")" << endl;
} }
} }
} }
......
...@@ -438,9 +438,9 @@ static int countViolations(const cv::Mat& expected, const cv::Mat& actual, const ...@@ -438,9 +438,9 @@ static int countViolations(const cv::Mat& expected, const cv::Mat& actual, const
if (v > 0 && max_violation != 0 && max_allowed != 0) if (v > 0 && max_violation != 0 && max_allowed != 0)
{ {
int loc[10]; int loc[10] = {0};
cv::minMaxIdx(maximum, 0, max_allowed, 0, loc, mask); cv::minMaxIdx(maximum, 0, max_allowed, 0, loc, mask);
*max_violation = diff64f.at<double>(loc[1], loc[0]); *max_violation = diff64f.at<double>(loc[0], loc[1]);
} }
return v; return v;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment