diff --git a/src/plugins/intel_cpu/src/nodes/strided_slice.cpp b/src/plugins/intel_cpu/src/nodes/strided_slice.cpp index 795d63669b8..35ab631cda4 100644 --- a/src/plugins/intel_cpu/src/nodes/strided_slice.cpp +++ b/src/plugins/intel_cpu/src/nodes/strided_slice.cpp @@ -119,10 +119,12 @@ MKLDNNStridedSliceNode::MKLDNNStridedSliceNode(const std::shared_ptr& attrs.shrinkAxisMask = createMask(ss->get_shrink_axis_mask()); auto origEllipsisMask = ss->get_ellipsis_mask(); + bool isEllipsis = false; for (const auto &o : origEllipsisMask) { + isEllipsis = isEllipsis || o != 0; attrs.ellipsisMask.push_back(o); } - if (attrs.ellipsisMask.size() == 0) { + if (attrs.ellipsisMask.size() == 0 || !isEllipsis) { for (size_t i = attrs.ellipsisMask.size(); i < nDims; ++i) attrs.ellipsisMask.push_back(0); } } else { diff --git a/src/tests/functional/plugin/cpu/shared_tests_instances/single_layer_tests/strided_slice.cpp b/src/tests/functional/plugin/cpu/shared_tests_instances/single_layer_tests/strided_slice.cpp index 6e5e7f30fbe..13e81cf060c 100644 --- a/src/tests/functional/plugin/cpu/shared_tests_instances/single_layer_tests/strided_slice.cpp +++ b/src/tests/functional/plugin/cpu/shared_tests_instances/single_layer_tests/strided_slice.cpp @@ -66,6 +66,8 @@ std::vector ss_only_test_cases = { { 1, 0 }, { 1, 0 }, { }, { }, { 1, 0 } }, StridedSliceSpecificParams{ { 20, 10, 5 }, { 0, 0 }, { 0, -1 }, { 1, 1 }, { 1, 0 }, { 1, 0 }, { }, { }, { 1, 0 } }, + StridedSliceSpecificParams{ { 20, 10, 5 }, { 0, 0 }, { 0, -1 }, { 1, 1 }, + { 1, 0 }, { 1, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }, StridedSliceSpecificParams{ { 1, 12, 100, 1, 1 }, { 0, -1, 0, 0 }, { 0, 0, 0, 0 }, { 1, 1, 1, 1 }, { 1, 0, 1, 0 }, { 1, 0, 1, 0 }, { }, { 0, 1, 0, 1 }, {} }, StridedSliceSpecificParams{ { 2, 2, 2, 2 }, { 0, 0, 0, 0 }, { 2, 2, 2, 2 }, { 1, 1, 1, 1 },