#pragma once
#include "src/fallback/matrix_mul/gemm_common.h"
namespace megdnn {
namespace aarch64 {
namespace matmul {
MEGDNN_REG_GEMM_STRATEGY_WITH_WRITEBACK(
dt_int8, dt_int8, dt_int32, 4, 4, 16, false, true, gemm_s8_4x4_nobias_identity);
MEGDNN_REG_GEMM_STRATEGY_WITH_SUPER(
gemm_s8_4x4_nobias_relu, gemm_s8_4x4_nobias_identity);
MEGDNN_REG_GEMM_STRATEGY_WITH_SUPER(
gemm_s8_4x4_nobias_hswish, gemm_s8_4x4_nobias_identity);
MEGDNN_REG_GEMM_STRATEGY_WITH_SUPER(
gemm_s8_4x4_bias_channel_identity, gemm_s8_4x4_nobias_identity);
MEGDNN_REG_GEMM_STRATEGY_WITH_SUPER(
gemm_s8_4x4_bias_channel_relu, gemm_s8_4x4_nobias_identity);
MEGDNN_REG_GEMM_STRATEGY_WITH_SUPER(
gemm_s8_4x4_bias_channel_hswish, gemm_s8_4x4_nobias_identity);
#if MGB_ENABLE_DOT
MEGDNN_REG_GEMM_STRATEGY_WITH_WRITEBACK(
dt_int8, dt_int8, dt_int32, 8, 12, 4, false, true,
gemm_s8_8x12_nobias_identity);
MEGDNN_REG_GEMM_STRATEGY_WITH_SUPER(
gemm_s8_8x12_nobias_relu, gemm_s8_8x12_nobias_identity);
MEGDNN_REG_GEMM_STRATEGY_WITH_SUPER(
gemm_s8_8x12_nobias_hswish, gemm_s8_8x12_nobias_identity);
MEGDNN_REG_GEMM_STRATEGY_WITH_SUPER(
gemm_s8_8x12_bias_channel_identity, gemm_s8_8x12_nobias_identity);
MEGDNN_REG_GEMM_STRATEGY_WITH_SUPER(
gemm_s8_8x12_bias_channel_relu, gemm_s8_8x12_nobias_identity);
MEGDNN_REG_GEMM_STRATEGY_WITH_SUPER(
gemm_s8_8x12_bias_channel_hswish, gemm_s8_8x12_nobias_identity);
#endif
} } }