Skip to content

Commit 744ad13

Browse files
committed
Address review comments
1 parent c1ddb94 commit 744ad13

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

src/plugins/intel_cpu/src/emitters/snippets/aarch64/jit_gemm_copy_b_emitter.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ void jit_gemm_copy_b_emitter::validate_arguments(const std::vector<size_t>& in,
7474
OV_CPU_JIT_EMITTER_ASSERT(in.size() == 1, "Expects 1 input reg, got", in.size());
7575
OV_CPU_JIT_EMITTER_ASSERT(out.size() == 1, "Expects 1 output reg, got", out.size());
7676
OV_CPU_JIT_EMITTER_ASSERT(m_memory_offsets.size() == 2, "Expected 2 memory offsets for input and output");
77+
OV_CPU_JIT_EMITTER_ASSERT(m_buffer_ids.size() == 2, "Expected 2 buffer IDs for input and output");
7778
}
7879

7980
void jit_gemm_copy_b_emitter::emit_impl(const std::vector<size_t>& in, const std::vector<size_t>& out) const {
@@ -111,8 +112,11 @@ void jit_gemm_copy_b_emitter::emit_impl(const std::vector<size_t>& in, const std
111112
}
112113

113114
// Load back the adjusted pointers for function call
114-
h->ldr(x2, Xbyak_aarch64::ptr(h->sp, 1 * get_vec_length())); // output pointer
115-
h->ldr(x1, Xbyak_aarch64::ptr(h->sp, 0 * get_vec_length())); // input pointer
115+
h->ldr(x1, Xbyak_aarch64::ptr(h->sp)); // input pointer
116+
h->ldr(x2, Xbyak_aarch64::ptr(h->sp, get_vec_length())); // output pointer
117+
118+
// Restore stack pointer
119+
h->add(h->sp, h->sp, 2 * get_vec_length());
116120

117121
// Set up executor pointer as first argument
118122
const auto& compiled_kernel = get_compiled_kernel_ptr();
@@ -122,9 +126,6 @@ void jit_gemm_copy_b_emitter::emit_impl(const std::vector<size_t>& in, const std
122126
h->mov(func_reg, get_execute_function_ptr());
123127
h->blr(func_reg);
124128

125-
// Restore stack pointer
126-
h->add(h->sp, h->sp, 2 * get_vec_length());
127-
128129
restore_context(exclude);
129130
}
130131

src/plugins/intel_cpu/src/emitters/snippets/aarch64/jit_gemm_emitter.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ void jit_gemm_emitter::validate_arguments(const std::vector<size_t>& in, const s
6666
OV_CPU_JIT_EMITTER_ASSERT(in.size() == 2, "Expects 2 input regs, got", in.size());
6767
OV_CPU_JIT_EMITTER_ASSERT(out.size() == 1, "Expects 1 output reg, got", out.size());
6868
OV_CPU_JIT_EMITTER_ASSERT(m_memory_offsets.size() == 3, "Expected 3 memory offsets for A, B, C");
69+
OV_CPU_JIT_EMITTER_ASSERT(m_buffer_ids.size() == 3, "Expected 3 buffer IDs for A, B, C");
6970
}
7071

7172
void jit_gemm_emitter::emit_impl(const std::vector<size_t>& in, const std::vector<size_t>& out) const {
@@ -104,9 +105,12 @@ void jit_gemm_emitter::emit_impl(const std::vector<size_t>& in, const std::vecto
104105
}
105106

106107
// Load back the adjusted pointers for function call
108+
h->ldr(x1, Xbyak_aarch64::ptr(h->sp)); // matrix A (in0)
109+
h->ldr(x2, Xbyak_aarch64::ptr(h->sp, get_vec_length())); // matrix B (in1)
107110
h->ldr(x3, Xbyak_aarch64::ptr(h->sp, 2 * get_vec_length())); // matrix C (out)
108-
h->ldr(x2, Xbyak_aarch64::ptr(h->sp, 1 * get_vec_length())); // matrix B (in1)
109-
h->ldr(x1, Xbyak_aarch64::ptr(h->sp, 0 * get_vec_length())); // matrix A (in0)
111+
112+
// Restore stack pointer
113+
h->add(h->sp, h->sp, 3 * get_vec_length());
110114

111115
// Set up executor pointer as first argument
112116
const auto& compiled_kernel = get_compiled_kernel_ptr();
@@ -116,9 +120,6 @@ void jit_gemm_emitter::emit_impl(const std::vector<size_t>& in, const std::vecto
116120
h->mov(func_reg, get_execute_function_ptr());
117121
h->blr(func_reg);
118122

119-
// Restore stack pointer
120-
h->add(h->sp, h->sp, 3 * get_vec_length());
121-
122123
restore_context(exclude);
123124
}
124125

0 commit comments

Comments
 (0)