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