core(ipp): disable SSE4.2 code path in countNonZero()
authorAlexander Alekhin <alexander.a.alekhin@gmail.com>
Tue, 1 Dec 2020 14:01:42 +0000 (14:01 +0000)
committerAlexander Alekhin <alexander.a.alekhin@gmail.com>
Tue, 1 Dec 2020 14:01:42 +0000 (14:01 +0000)
modules/core/src/count_non_zero.dispatch.cpp

index 96b80c0..cd3ed84 100644 (file)
@@ -62,11 +62,9 @@ static bool ipp_countNonZero( Mat &src, int &res )
 {
     CV_INSTRUMENT_REGION_IPP();
 
-#if defined __APPLE__ || (defined _MSC_VER && defined _M_IX86)
     // see https://github.com/opencv/opencv/issues/17453
-    if (src.dims <= 2 && src.step > 520000)
+    if (src.dims <= 2 && src.step > 520000 && cv::ipp::getIppTopFeatures() == ippCPUID_SSE42)
         return false;
-#endif
 
 #if IPP_VERSION_X100 < 201801
     // Poor performance of SSE42