24 #ifndef ARM_COMPUTE_WRAPPER_DIV_H
25 #define ARM_COMPUTE_WRAPPER_DIV_H
37 #define VDIV_IMPL(stype, vtype, prefix, postfix) \
38 inline vtype vdiv(const vtype &a, const vtype &b) \
40 return prefix##_##postfix(a, b); \
43 #ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
45 #endif // __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
47 VDIV_IMPL(float32x4_t, float32x4_t, vdivq, f32)
48 #ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
49 VDIV_IMPL(float16x8_t, float16x8_t, vdivq, f16)
50 #endif // __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
54 #define VDIV_IMPL(stype, vtype, mul_prefix, inv_prefix, postfix) \
55 inline vtype vdiv(const vtype &a, const vtype &b) \
57 return mul_prefix##_##postfix(a, inv_prefix##_##postfix(b)); \
60 #ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
62 #endif // __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
64 VDIV_IMPL(float32x4_t, float32x4_t, vmulq, vinvq, f32)
65 #ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
66 VDIV_IMPL(float16x8_t, float16x8_t, vmulq, vinvq, f16)
67 #endif // __ARM_FEATURE_FP16_VECTOR_ARITHMETIC