1 /* 2 * Helpers for evaluating polynomials on single-precision AdvSIMD input, using 3 * various schemes. 4 * 5 * Copyright (c) 2023, Arm Limited. 6 * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception 7 */ 8 9 #ifndef PL_MATH_POLY_ADVSIMD_F32_H 10 #define PL_MATH_POLY_ADVSIMD_F32_H 11 12 #include <arm_neon.h> 13 14 /* Wrap AdvSIMD f32 helpers: evaluation of some scheme/order has form: 15 v_[scheme]_[order]_f32. */ 16 #define VTYPE float32x4_t 17 #define FMA(x, y, z) vfmaq_f32 (z, x, y) 18 #define VWRAP(f) v_##f##_f32 19 #include "poly_generic.h" 20 #undef VWRAP 21 #undef FMA 22 #undef VTYPE 23 24 #endif 25