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