|
1 | 1 | /******************************************************************************* |
2 | | -* Copyright 2019-2022 Intel Corporation |
| 2 | +* Copyright 2019-2023 Intel Corporation |
3 | 3 | * |
4 | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
5 | 5 | * you may not use this file except in compliance with the License. |
@@ -900,16 +900,14 @@ void _jit_uni_x8s8s32x_fwd_kernel<isa, Vmm>::generate() { |
900 | 900 |
|
901 | 901 | if (jcp.is_depthwise) { |
902 | 902 | const bool is_zero_point = jcp.src_zero_point || jcp.dst_zero_point; |
903 | | - // dst zero point and dst scale reuse the same register |
904 | | - int idx = ker_max_reg + 1 - jcp.max_regs_ur |
905 | | - - nstl::max(2 * is_zero_point, static_cast<int>(jcp.dst_scale)); |
| 903 | + int idx = ker_max_reg + 1 - jcp.max_regs_ur - 2 * is_zero_point; |
906 | 904 | if (!jcp.is_resrc_depthwise) vmm_dw_src = Vmm(--idx); |
907 | 905 | if (!jcp.has_vnni) vmm_dw_tmp = Vmm(--idx); |
908 | 906 | if (jcp.signed_input) { |
909 | 907 | --idx; // due to extra register used for compensations |
910 | 908 | } |
911 | | - assert(IMPLICATION(!jcp.dst_scale && !is_zero_point, |
912 | | - idx == ker_max_reg - ker_dw_reg_base_idx)); |
| 909 | + assert(IMPLICATION( |
| 910 | + !is_zero_point, idx == ker_max_reg - ker_dw_reg_base_idx)); |
913 | 911 | } |
914 | 912 |
|
915 | 913 | if (!jcp.is_depthwise && (!jcp.has_vnni)) { |
@@ -1359,7 +1357,6 @@ status_t jit_uni_x8s8s32x_fwd_kernel<isa>::init_conf(jit_conv_conf_t &jcp, |
1359 | 1357 | jcp.max_regs_ur = jcp.has_vnni ? 15 - jcp.signed_input : 12; |
1360 | 1358 | } |
1361 | 1359 |
|
1362 | | - if (jcp.dst_scale) jcp.max_regs_ur = 10; |
1363 | 1360 | if (jcp.src_zero_point || jcp.dst_zero_point) jcp.max_regs_ur = 9; |
1364 | 1361 |
|
1365 | 1362 | auto set_or_check_wei_format = [&]() { |
|
0 commit comments