diff --git a/src/plugins/intel_npu/src/plugin/npuw/partitioning/patterns/opt.cpp b/src/plugins/intel_npu/src/plugin/npuw/partitioning/patterns/opt.cpp index 077fb6d6660132..ddf1449adb9d59 100644 --- a/src/plugins/intel_npu/src/plugin/npuw/partitioning/patterns/opt.cpp +++ b/src/plugins/intel_npu/src/plugin/npuw/partitioning/patterns/opt.cpp @@ -149,8 +149,9 @@ DQMatMulCWi::DQMatMulCWi() { auto qcoeff_shape = matched_qcoeff->output(0).get_shape(); - if (ov::element::i4 == matched_qweight->get_element_type() && qcoeff_shape[1] == 1 && - !matched_matmul->get_transpose_a() && matched_matmul->get_transpose_b()) { + if ((ov::element::i4 == matched_qweight->get_element_type() || + ov::element::i8 == matched_qweight->get_element_type()) && + qcoeff_shape[1] == 1 && !matched_matmul->get_transpose_a() && matched_matmul->get_transpose_b()) { auto matched_node_cvtw = node_to_output.at(qcvtw).get_node_shared_ptr(); auto matched_node_cvtm = node_to_output.at(qcvtm).get_node_shared_ptr(); auto matched_node_muls = node_to_output.at(qmuls).get_node_shared_ptr();