xref: /aosp_15_r20/external/arm-optimized-routines/pl/math/poly_sve_f32.h (revision 412f47f9e737e10ed5cc46ec6a8d7fa2264f8a14)
1*412f47f9SXin Li /*
2*412f47f9SXin Li  * Helpers for evaluating polynomials on single-precision SVE input, using
3*412f47f9SXin Li  * various schemes.
4*412f47f9SXin Li  *
5*412f47f9SXin Li  * Copyright (c) 2023, Arm Limited.
6*412f47f9SXin Li  * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
7*412f47f9SXin Li  */
8*412f47f9SXin Li 
9*412f47f9SXin Li #ifndef PL_MATH_POLY_SVE_F32_H
10*412f47f9SXin Li #define PL_MATH_POLY_SVE_F32_H
11*412f47f9SXin Li 
12*412f47f9SXin Li #include <arm_sve.h>
13*412f47f9SXin Li 
14*412f47f9SXin Li /* Wrap SVE f32 helpers: evaluation of some scheme/order has form:
15*412f47f9SXin Li    sv_[scheme]_[order]_f32_x.  */
16*412f47f9SXin Li #define VTYPE svfloat32_t
17*412f47f9SXin Li #define STYPE float
18*412f47f9SXin Li #define VWRAP(f) sv_##f##_f32_x
19*412f47f9SXin Li #define DUP svdup_f32
20*412f47f9SXin Li #include "poly_sve_generic.h"
21*412f47f9SXin Li #undef DUP
22*412f47f9SXin Li #undef VWRAP
23*412f47f9SXin Li #undef STYPE
24*412f47f9SXin Li #undef VTYPE
25*412f47f9SXin Li 
26*412f47f9SXin Li #endif
27