xref: /aosp_15_r20/external/arm-optimized-routines/pl/math/poly_sve_f64.h (revision 412f47f9e737e10ed5cc46ec6a8d7fa2264f8a14)
1*412f47f9SXin Li /*
2*412f47f9SXin Li  * Helpers for evaluating polynomials on double-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_F64_H
10*412f47f9SXin Li #define PL_MATH_POLY_SVE_F64_H
11*412f47f9SXin Li 
12*412f47f9SXin Li #include <arm_sve.h>
13*412f47f9SXin Li 
14*412f47f9SXin Li /* Wrap SVE f64 helpers: evaluation of some scheme/order has form:
15*412f47f9SXin Li    sv_[scheme]_[order]_f64_x.  */
16*412f47f9SXin Li #define VTYPE svfloat64_t
17*412f47f9SXin Li #define STYPE double
18*412f47f9SXin Li #define VWRAP(f) sv_##f##_f64_x
19*412f47f9SXin Li #define DUP svdup_f64
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