24 #ifndef ARM_COMPUTE_WRAPPER_MLA_H
25 #define ARM_COMPUTE_WRAPPER_MLA_H
33 #define VMLA_IMPL(stype, vtype, prefix, postfix) \
34 inline vtype vmla(const vtype &a, const vtype &b, const vtype &c) \
36 return prefix##_##postfix(a, b, c); \
38 #ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
39 #define VMLA_IMPL2(stype, vtype, prefix1, prefix2, postfix) \
40 inline vtype vmla(const vtype &a, const vtype &b, const vtype &c) \
42 return prefix1##_##postfix(a, prefix2##_##postfix(b, c)); \
44 #endif // __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
53 #ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
54 VMLA_IMPL2(float16x4_t, float16x4_t,
vadd,
vmul, f16)
55 #endif // __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
64 #ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
65 VMLA_IMPL2(float16x8_t, float16x8_t, vaddq, vmulq, f16)
66 #endif // __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
70 #define VMLAL_IMPL(vtype_in, vtype_out, postfix) \
71 inline vtype_out vmlal(const vtype_out &a, const vtype_in &b, const vtype_in &c) \
73 return vmlal_##postfix(a, b, c); \