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); \ uint8x8_t vadd(const uint8x8_t &a, const uint8x8_t &b)
Copyright (c) 2017-2021 Arm Limited.
#define VMLA_IMPL(stype, vtype, prefix, postfix)
#define VMLAL_IMPL(vtype_in, vtype_out, postfix)
uint8x8_t vmul(const uint8x8_t &a, const uint8x8_t &b)
uint8x8_t vmla(const uint8x8_t &a, const uint8x8_t &b, const uint8x8_t &c)