1072a4ba8SAndrew Turner /* 2072a4ba8SAndrew Turner * Function entries for ulp. 3072a4ba8SAndrew Turner * 4072a4ba8SAndrew Turner * Copyright (c) 2022-2023, Arm Limited. 5072a4ba8SAndrew Turner * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception 6072a4ba8SAndrew Turner */ 7072a4ba8SAndrew Turner 8*5a02ffc3SAndrew Turner #if defined(__vpcs) && __aarch64__ 9072a4ba8SAndrew Turner 10*5a02ffc3SAndrew Turner #define _ZVF1(f) ZVF1 (f) 11*5a02ffc3SAndrew Turner #define _ZVD1(f) ZVD1 (f) 12*5a02ffc3SAndrew Turner #define _ZVF2(f) ZVF2 (f) 13*5a02ffc3SAndrew Turner #define _ZVD2(f) ZVD2 (f) 14072a4ba8SAndrew Turner 15072a4ba8SAndrew Turner #else 16072a4ba8SAndrew Turner 17072a4ba8SAndrew Turner #define _ZVF1(f) 18072a4ba8SAndrew Turner #define _ZVD1(f) 19072a4ba8SAndrew Turner #define _ZVF2(f) 20072a4ba8SAndrew Turner #define _ZVD2(f) 21072a4ba8SAndrew Turner 22072a4ba8SAndrew Turner #endif 23072a4ba8SAndrew Turner 24072a4ba8SAndrew Turner #if WANT_SVE_MATH 25072a4ba8SAndrew Turner 26*5a02ffc3SAndrew Turner #define _ZSVF1(f) ZSVF1 (f) 27*5a02ffc3SAndrew Turner #define _ZSVF2(f) ZSVF2 (f) 28*5a02ffc3SAndrew Turner #define _ZSVD1(f) ZSVD1 (f) 29*5a02ffc3SAndrew Turner #define _ZSVD2(f) ZSVD2 (f) 30072a4ba8SAndrew Turner 31072a4ba8SAndrew Turner #else 32072a4ba8SAndrew Turner 33072a4ba8SAndrew Turner #define _ZSVF1(f) 34072a4ba8SAndrew Turner #define _ZSVF2(f) 35072a4ba8SAndrew Turner #define _ZSVD1(f) 36072a4ba8SAndrew Turner #define _ZSVD2(f) 37072a4ba8SAndrew Turner 38072a4ba8SAndrew Turner #endif 39072a4ba8SAndrew Turner 40072a4ba8SAndrew Turner #define _ZSF1(f) F1 (f) 41072a4ba8SAndrew Turner #define _ZSF2(f) F2 (f) 42072a4ba8SAndrew Turner #define _ZSD1(f) D1 (f) 43072a4ba8SAndrew Turner #define _ZSD2(f) D2 (f) 44072a4ba8SAndrew Turner 45072a4ba8SAndrew Turner #include "ulp_funcs_gen.h" 46072a4ba8SAndrew Turner 47*5a02ffc3SAndrew Turner F (_ZGVnN4v_sincosf_sin, v_sincosf_sin, sin, mpfr_sin, 1, 1, f1, 0) 48*5a02ffc3SAndrew Turner F (_ZGVnN4v_sincosf_cos, v_sincosf_cos, cos, mpfr_cos, 1, 1, f1, 0) 49*5a02ffc3SAndrew Turner F (_ZGVnN4v_cexpif_sin, v_cexpif_sin, sin, mpfr_sin, 1, 1, f1, 0) 50*5a02ffc3SAndrew Turner F (_ZGVnN4v_cexpif_cos, v_cexpif_cos, cos, mpfr_cos, 1, 1, f1, 0) 51*5a02ffc3SAndrew Turner 52*5a02ffc3SAndrew Turner F (_ZGVnN2v_sincos_sin, v_sincos_sin, sinl, mpfr_sin, 1, 0, d1, 0) 53*5a02ffc3SAndrew Turner F (_ZGVnN2v_sincos_cos, v_sincos_cos, cosl, mpfr_cos, 1, 0, d1, 0) 54*5a02ffc3SAndrew Turner F (_ZGVnN2v_cexpi_sin, v_cexpi_sin, sinl, mpfr_sin, 1, 0, d1, 0) 55*5a02ffc3SAndrew Turner F (_ZGVnN2v_cexpi_cos, v_cexpi_cos, cosl, mpfr_cos, 1, 0, d1, 0) 56*5a02ffc3SAndrew Turner 57072a4ba8SAndrew Turner #if WANT_SVE_MATH 58072a4ba8SAndrew Turner F (_ZGVsMxvv_powk, Z_sv_powk, ref_powi, mpfr_powi, 2, 0, d2, 0) 59072a4ba8SAndrew Turner F (_ZGVsMxvv_powi, Z_sv_powi, ref_powif, mpfr_powi, 2, 1, f2, 0) 60*5a02ffc3SAndrew Turner 61*5a02ffc3SAndrew Turner F (_ZGVsMxv_sincosf_sin, sv_sincosf_sin, sin, mpfr_sin, 1, 1, f1, 0) 62*5a02ffc3SAndrew Turner F (_ZGVsMxv_sincosf_cos, sv_sincosf_cos, cos, mpfr_cos, 1, 1, f1, 0) 63*5a02ffc3SAndrew Turner F (_ZGVsMxv_cexpif_sin, sv_cexpif_sin, sin, mpfr_sin, 1, 1, f1, 0) 64*5a02ffc3SAndrew Turner F (_ZGVsMxv_cexpif_cos, sv_cexpif_cos, cos, mpfr_cos, 1, 1, f1, 0) 65*5a02ffc3SAndrew Turner 66*5a02ffc3SAndrew Turner F (_ZGVsMxv_sincos_sin, sv_sincos_sin, sinl, mpfr_sin, 1, 0, d1, 0) 67*5a02ffc3SAndrew Turner F (_ZGVsMxv_sincos_cos, sv_sincos_cos, cosl, mpfr_cos, 1, 0, d1, 0) 68*5a02ffc3SAndrew Turner F (_ZGVsMxv_cexpi_sin, sv_cexpi_sin, sinl, mpfr_sin, 1, 0, d1, 0) 69*5a02ffc3SAndrew Turner F (_ZGVsMxv_cexpi_cos, sv_cexpi_cos, cosl, mpfr_cos, 1, 0, d1, 0) 70072a4ba8SAndrew Turner #endif 71