25 #ifdef ARM_COMPUTE_ENABLE_SVE
27 #include "../std_transforms_sve.hpp"
28 #include "../kernel_weight_format.hpp"
29 #include "../performance_parameters.hpp"
32 const float *, const float *, size_t, \
33 float *, int, size_t, int
38 void sve_ffinterleaved_fp32_mla_8x3VL( ARGLIST );
39 void sve_ffinterleaved_fp32_mla_8x3VL_a64fx( ARGLIST );
41 class cls_sve_ffinterleaved_fp32_mla_8x3VL
44 typedef float operand_type;
45 typedef float result_type;
47 typedef void (*kern_type)( ARGLIST );
50 static constexpr
unsigned int out_height()
55 static unsigned int out_width()
57 return get_vector_length<float>() * 3;
59 static unsigned int stripe_width()
61 return get_vector_length<float>();
69 static constexpr
unsigned int k_unroll()
75 StdTransformsSVE<operand_type, result_type, 8, 3, 1, 1> transforms = {};
76 StdTransformsSVE<operand_type, result_type, 8, 3, 1, 1, true> transforms_quantized = {};
78 static inline PerformanceParameters get_performance_parameters(
const CPUInfo *
ci)
81 if (std::is_same<T, float>::value) {
84 return { 13.51, 9.27, 3.98 };
92 kern_type kernel=sve_ffinterleaved_fp32_mla_8x3VL;
93 cls_sve_ffinterleaved_fp32_mla_8x3VL(
const CPUInfo *
ci)
99 kernel=sve_ffinterleaved_fp32_mla_8x3VL_a64fx;
108 #endif // ARM_COMPUTE_ENABLE_SVE