diff --git a/src/common/snippets/src/pass/collapse_subgraph.cpp b/src/common/snippets/src/pass/collapse_subgraph.cpp index 1f60fc99c6736b..474705aed149e0 100644 --- a/src/common/snippets/src/pass/collapse_subgraph.cpp +++ b/src/common/snippets/src/pass/collapse_subgraph.cpp @@ -51,9 +51,12 @@ auto is_supported_op(const std::shared_ptr &n) -> bool { if (transpose && n->get_input_size() == 2) { const auto& order = as_type_ptr(n->get_input_node_shared_ptr(1)); if (order && order->get_output_element_type(0) == element::i32) { - const auto values = order->get_vector(); - const std::vector> supported{{0, 2, 1, 3}, {0, 2, 3, 1}}; - return std::find(supported.begin(), supported.end(), values) != supported.end(); + const auto order_value = order->get_vector(); + // todo: {0, 2, 1, 3} Transpose should also be tokenized to support MHA pattern. + // It's disabled because {0, 2, 1, 3} Transposes to be fused with MatMuls, that are + // not tokenized yet. Enable tokenization of {0, 2, 1, 3} after ticket 95631 is implemented. + const std::set> supported_cases {{0, 2, 3, 1}}; + return supported_cases.count(order_value) != 0; } } return false;