diff --git a/src/cpu/x64/jit_uni_x8s8s32x_conv_kernel.cpp b/src/cpu/x64/jit_uni_x8s8s32x_conv_kernel.cpp index 8df8027fb96..49d0fae1e8a 100644 --- a/src/cpu/x64/jit_uni_x8s8s32x_conv_kernel.cpp +++ b/src/cpu/x64/jit_uni_x8s8s32x_conv_kernel.cpp @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright 2019-2022 Intel Corporation +* Copyright 2019-2023 Intel Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -900,16 +900,14 @@ void _jit_uni_x8s8s32x_fwd_kernel::generate() { if (jcp.is_depthwise) { const bool is_zero_point = jcp.src_zero_point || jcp.dst_zero_point; - // dst zero point and dst scale reuse the same register - int idx = ker_max_reg + 1 - jcp.max_regs_ur - - nstl::max(2 * is_zero_point, static_cast(jcp.dst_scale)); + int idx = ker_max_reg + 1 - jcp.max_regs_ur - 2 * is_zero_point; if (!jcp.is_resrc_depthwise) vmm_dw_src = Vmm(--idx); if (!jcp.has_vnni) vmm_dw_tmp = Vmm(--idx); if (jcp.signed_input) { --idx; // due to extra register used for compensations } - assert(IMPLICATION(!jcp.dst_scale && !is_zero_point, - idx == ker_max_reg - ker_dw_reg_base_idx)); + assert(IMPLICATION( + !is_zero_point, idx == ker_max_reg - ker_dw_reg_base_idx)); } if (!jcp.is_depthwise && (!jcp.has_vnni)) { @@ -1359,7 +1357,6 @@ status_t jit_uni_x8s8s32x_fwd_kernel::init_conf(jit_conv_conf_t &jcp, jcp.max_regs_ur = jcp.has_vnni ? 15 - jcp.signed_input : 12; } - if (jcp.dst_scale) jcp.max_regs_ur = 10; if (jcp.src_zero_point || jcp.dst_zero_point) jcp.max_regs_ur = 9; auto set_or_check_wei_format = [&]() { diff --git a/src/cpu/x64/jit_uni_x8s8s32x_conv_kernel.hpp b/src/cpu/x64/jit_uni_x8s8s32x_conv_kernel.hpp index 0df8e14d3d3..c93a2452753 100644 --- a/src/cpu/x64/jit_uni_x8s8s32x_conv_kernel.hpp +++ b/src/cpu/x64/jit_uni_x8s8s32x_conv_kernel.hpp @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright 2019-2022 Intel Corporation +* Copyright 2019-2023 Intel Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -113,7 +113,7 @@ struct _jit_uni_x8s8s32x_fwd_kernel : public jit_generator { const Vmm vmm_zp_comp = vmm_zp_one; const Vmm vmm_zp_dw_tmp = vmm_zp_one; /* dst scale */ - const Vmm vmm_dst_scale = Vmm(5); + const Vmm vmm_dst_scale = Vmm(0); /* used in compute_ker (but set during prepare_output) */ const Vmm vmm_shift = Vmm(1); // only for signed input