26 #ifdef ARM_COMPUTE_ENABLE_SME2
29 #include "../std_transforms_sme.hpp"
35 void sme2_interleaved_nomerge_s8q_mopa_2VLx2VL(
const int8_t *
const A,
const int8_t *
const B, int8_t *
const C,
int ldc,
const int M,
const int N,
const int K,
const int32_t *
const bias,
const Requantize32 &rq,
const int n_0,
bool accumulate, int32_t *
const accumulator_buffer);
37 class cls_sme2_interleaved_nomerge_s8q_mopa_2VLx2VL
40 typedef int8_t operand_type;
41 typedef int8_t result_type;
43 typedef void (*kern_type)(
const int8_t *
const A,
const int8_t *
const B, int8_t *
const C,
int ldc,
const int M,
const int N,
const int K,
const int32_t *
const bias,
const Requantize32 &rq,
const int n_0,
bool accumulate, int32_t *
const accumulator_buffer);
46 static unsigned int out_height()
48 return sme::get_vector_length<int32_t>() * 2;
51 static unsigned int out_width()
53 return sme::get_vector_length<int32_t>() * 2;
56 static constexpr
unsigned int k_unroll()
61 static constexpr
bool supports_accumulate()
66 static constexpr
bool supports_bias()
71 static constexpr
bool supports_activation()
76 static constexpr
bool is_sme()
82 kern_type kernel = sme2_interleaved_nomerge_s8q_mopa_2VLx2VL;
84 StdTransformsSME<operand_type, result_type, 2, 2, 4, true> transforms = {};
86 cls_sme2_interleaved_nomerge_s8q_mopa_2VLx2VL(
const CPUInfo *)
93 #endif // ARM_COMPUTE_ENABLE_SME2