From 88b04c3cd46c43444ba9971d8cbe8fa557c771d9 Mon Sep 17 00:00:00 2001 From: Tomoaki Teshima Date: Tue, 11 Sep 2018 21:28:18 +0900 Subject: [PATCH] remove raw SSE2 implementation --- modules/dnn/src/layers/pooling_layer.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/modules/dnn/src/layers/pooling_layer.cpp b/modules/dnn/src/layers/pooling_layer.cpp index 4e0fea21d8..853fab84ea 100644 --- a/modules/dnn/src/layers/pooling_layer.cpp +++ b/modules/dnn/src/layers/pooling_layer.cpp @@ -488,19 +488,16 @@ public: max_val0 = v_max(max_val0, v0); max_val1 = v_max(max_val1, v1); } -#if CV_SSE2 else if( stride_w == 2 ) for (int k = 0; k < kernel_w*kernel_h; k++) { int index = ofsptr[k]; - v_float32x4 v00 = v_load(srcData1 + index), v01 = v_load(srcData1 + index + 4); - v_float32x4 v0(_mm_shuffle_ps(v00.val, v01.val, _MM_SHUFFLE(2, 0, 2, 0))); - v_float32x4 v10 = v_load(srcData1 + index + 8), v11 = v_load(srcData1 + index + 12); - v_float32x4 v1(_mm_shuffle_ps(v10.val, v11.val, _MM_SHUFFLE(2, 0, 2, 0))); + v_float32x4 v0, v1, dummy; + v_load_deinterleave(srcData1 + index, v0, dummy); // f0 f2 f4 f6 ,f1 f3 f5 f7 + v_load_deinterleave(srcData1 + index + 8, v1, dummy); // f8 f10 f12 f14 ,f9 f11 f13 f15 max_val0 = v_max(max_val0, v0); max_val1 = v_max(max_val1, v1); } -#endif else for (int k = 0; k < kernel_w*kernel_h; k++) {