diff --git a/src/common/snippets/src/lowered/pass/insert_load_store.cpp b/src/common/snippets/src/lowered/pass/insert_load_store.cpp index c4931dfc1ad01a..ea8a6795566064 100644 --- a/src/common/snippets/src/lowered/pass/insert_load_store.cpp +++ b/src/common/snippets/src/lowered/pass/insert_load_store.cpp @@ -140,12 +140,19 @@ bool InsertLoadStore::run(LinearIR& linear_ir) { for (auto expr_it = linear_ir.begin(); expr_it != linear_ir.end(); expr_it++) { const auto expr = *expr_it; const auto& node = expr->get_node(); - if (ov::is_type(node) || ov::is_type(node)) { + if (ov::is_type(node)) { modified |= insert_load(linear_ir, expr_it); + continue; } - - if (ov::is_type(node) || ov::is_type(node)) { + if (ov::is_type(node)) { modified |= insert_store(linear_ir, expr_it); + continue; + } + if (auto buffer = ov::as_type_ptr(node)) { + modified |= insert_load(linear_ir, expr_it); + if (buffer->is_intermediate_memory()) + modified |= insert_store(linear_ir, expr_it); + continue; } }