xref: /freebsd/contrib/arm-optimized-routines/pl/math/poly_sve_f64.h (revision 5a02ffc32e777041dd2dad4e651ed2a0865a0a5d)
1 /*
2  * Helpers for evaluating polynomials on double-precision SVE 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_SVE_F64_H
10 #define PL_MATH_POLY_SVE_F64_H
11 
12 #include <arm_sve.h>
13 
14 /* Wrap SVE f64 helpers: evaluation of some scheme/order has form:
15    sv_[scheme]_[order]_f64_x.  */
16 #define VTYPE svfloat64_t
17 #define STYPE double
18 #define VWRAP(f) sv_##f##_f64_x
19 #define DUP svdup_f64
20 #include "poly_sve_generic.h"
21 #undef DUP
22 #undef VWRAP
23 #undef STYPE
24 #undef VTYPE
25 
26 #endif
27