From 13df9f6fcd95e907507e181721629554ca93c1ee Mon Sep 17 00:00:00 2001 From: Alexandra Sidorova Date: Fri, 31 Jan 2025 09:01:41 +0400 Subject: [PATCH] [Snippets][CPU] Applied Ivan comment --- .../emitters/snippets/x64/kernel_executors/brgemm_copy_b.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/plugins/intel_cpu/src/emitters/snippets/x64/kernel_executors/brgemm_copy_b.cpp b/src/plugins/intel_cpu/src/emitters/snippets/x64/kernel_executors/brgemm_copy_b.cpp index 92d1798c4968cc..0cb074da6d426f 100644 --- a/src/plugins/intel_cpu/src/emitters/snippets/x64/kernel_executors/brgemm_copy_b.cpp +++ b/src/plugins/intel_cpu/src/emitters/snippets/x64/kernel_executors/brgemm_copy_b.cpp @@ -299,6 +299,10 @@ void BrgemmCopyBKernel::emit_brgemm_copy_b_kernel_call(size_t N, } std::set BrgemmCopyBKernel::get_live_regs() const { + // Only the registers `src_reg`, `tr_src_reg` and `comp_reg` should be + // saved on each `jit_brgemm_matmul_copy_b_t` binary call. + // They're ABI parameter registers (caller saved). So we have to manually + // spills only them on each `jit_brgemm_matmul_copy_b_t` binary call return {{snippets::RegType::gpr, static_cast(src_reg.getIdx())}, {snippets::RegType::gpr, static_cast(tr_src_reg.getIdx())}, {snippets::RegType::gpr, static_cast(comp_reg.getIdx())}};