| /src/contrib/arm-optimized-routines/math/include/ ! |
| H A D | mathlib.h | 190 svfloat32_t _ZGVsMxv_acosf (svfloat32_t, svbool_t); 191 svfloat32_t _ZGVsMxv_acoshf (svfloat32_t, svbool_t); 192 svfloat32_t _ZGVsMxv_asinf (svfloat32_t, svbool_t); 193 svfloat32_t _ZGVsMxv_asinhf (svfloat32_t, svbool_t); 194 svfloat32_t _ZGVsMxv_atanf (svfloat32_t, svbool_t); 195 svfloat32_t _ZGVsMxv_atanhf (svfloat32_t, svbool_t); 196 svfloat32_t _ZGVsMxv_cbrtf (svfloat32_t, svbool_t); 197 svfloat32_t _ZGVsMxv_cosf (svfloat32_t, svbool_t); 198 svfloat32_t _ZGVsMxv_coshf (svfloat32_t, svbool_t); 199 svfloat32_t _ZGVsMxv_cospif (svfloat32_t, svbool_t); [all …]
|
| /src/contrib/arm-optimized-routines/math/aarch64/experimental/sve/ ! |
| H A D | erfinvf_5u.c | 43 static inline svfloat32_t 44 special (svbool_t pg, svfloat32_t x, const struct data *d) in special() 46 svfloat32_t ax = svabs_x (pg, x); in special() 47 svfloat32_t t = svdivr_x ( in special() 54 svfloat32_t ts in special() 56 svfloat32_t q in special() 61 static inline svfloat32_t 62 notails (svbool_t pg, svfloat32_t x, const struct data *d) in notails() 66 svfloat32_t t = svmad_x (pg, x, x, -0.5625); in notails() 67 svfloat32_t q = svadd_x (pg, t, d->Q10_2); in notails() [all …]
|
| /src/contrib/arm-optimized-routines/math/aarch64/sve/ ! |
| H A D | sv_sincospif_common.h | 37 sv_sincospif_inline (svbool_t pg, svfloat32_t x, in sv_sincospif_inline() 43 svfloat32_t rx = svrinta_x (pg, x); in sv_sincospif_inline() 44 svfloat32_t sr = svsub_x (pt, x, rx); in sv_sincospif_inline() 47 svfloat32_t cr = svsubr_x (pt, svabs_x (pg, sr), 0.5f); in sv_sincospif_inline() 50 svfloat32_t sr2 = svmul_x (pt, sr, sr); in sv_sincospif_inline() 51 svfloat32_t sr4 = svmul_x (pt, sr2, sr2); in sv_sincospif_inline() 52 svfloat32_t cr2 = svmul_x (pt, cr, cr); in sv_sincospif_inline() 53 svfloat32_t cr4 = svmul_x (pt, cr2, cr2); in sv_sincospif_inline() 62 svfloat32_t c135 = svld1rq_f32 (svptrue_b32 (), &d->c1); in sv_sincospif_inline() 64 svfloat32_t sp01 = svmla_lane (sv_f32 (d->c0), sr2, c135, 0); in sv_sincospif_inline() [all …]
|
| H A D | exp10f.c | 42 static inline svfloat32_t 43 sv_exp10f_inline (svfloat32_t x, const svbool_t pg, const struct data *d) in sv_exp10f_inline() 49 svfloat32_t lane_consts = svld1rq (svptrue_b32 (), &d->log2_10_lo); in sv_exp10f_inline() 52 svfloat32_t shift = sv_f32 (d->shift); in sv_exp10f_inline() 53 svfloat32_t z = svmad_x (pg, sv_f32 (d->log10_2), x, shift); in sv_exp10f_inline() 54 svfloat32_t n = svsub_x (svptrue_b32 (), z, shift); in sv_exp10f_inline() 57 svfloat32_t r = svmsb_x (pg, sv_f32 (d->log2_10_hi), n, x); in sv_exp10f_inline() 60 svfloat32_t scale = svexpa (svreinterpret_u32 (z)); in sv_exp10f_inline() 63 svfloat32_t p12 = svmla_lane (sv_f32 (d->c1), r, lane_consts, 2); in sv_exp10f_inline() 64 svfloat32_t p34 = svmla_lane (sv_f32 (d->c3), r, lane_consts, 3); in sv_exp10f_inline() [all …]
|
| H A D | log10f.c | 39 static svfloat32_t NOINLINE 40 special_case (svuint32_t u_off, svfloat32_t p, svfloat32_t r2, svfloat32_t y, in special_case() 53 svfloat32_t SV_NAME_F1 (log10) (svfloat32_t x, const svbool_t pg) in log10() 63 svfloat32_t n = svcvt_f32_x ( in log10() 67 svfloat32_t r = svsub_x (pg, svreinterpret_f32 (ix), 1.0f); in log10() 73 svfloat32_t r2 = svmul_x (svptrue_b32 (), r, r); in log10() 74 svfloat32_t r4 = svmul_x (svptrue_b32 (), r2, r2); in log10() 75 svfloat32_t p_1357 = svld1rq (svptrue_b32 (), &d->poly_1357[0]); in log10() 76 svfloat32_t q_01 = svmla_lane (sv_f32 (d->poly_0246[0]), r, p_1357, 0); in log10() 77 svfloat32_t q_23 = svmla_lane (sv_f32 (d->poly_0246[1]), r, p_1357, 1); in log10() [all …]
|
| H A D | tanpif.c | 27 svfloat32_t SV_NAME_F1 (tanpi) (svfloat32_t x, const svbool_t pg) in tanpi() 30 svfloat32_t odd_coeffs = svld1rq (pg, &d->c1); in tanpi() 31 svfloat32_t n = svrintn_x (pg, x); in tanpi() 34 svfloat32_t xr = svsub_x (pg, x, n); in tanpi() 35 svfloat32_t ar = svabd_x (pg, x, n); in tanpi() 37 svfloat32_t r = svsel (flip, svsub_x (pg, sv_f32 (0.5f), ar), ar); in tanpi() 39 svfloat32_t r2 = svmul_x (pg, r, r); in tanpi() 40 svfloat32_t r4 = svmul_x (pg, r2, r2); in tanpi() 43 svfloat32_t p01 = svmla_lane (sv_f32 (d->c0), r2, odd_coeffs, 0); in tanpi() 44 svfloat32_t p23 = svmla_lane (sv_f32 (d->c2), r2, odd_coeffs, 1); in tanpi() [all …]
|
| H A D | exp2f.c | 32 static inline svfloat32_t 33 sv_exp2f_inline (svfloat32_t x, const svbool_t pg, const struct data *d) in sv_exp2f_inline() 37 svfloat32_t z = svadd_x (svptrue_b32 (), x, d->shift); in sv_exp2f_inline() 38 svfloat32_t n = svsub_x (svptrue_b32 (), z, d->shift); in sv_exp2f_inline() 39 svfloat32_t r = svsub_x (svptrue_b32 (), x, n); in sv_exp2f_inline() 41 svfloat32_t scale = svexpa (svreinterpret_u32 (z)); in sv_exp2f_inline() 46 svfloat32_t even_coeffs = svld1rq (svptrue_b32 (), &d->c0); in sv_exp2f_inline() 47 svfloat32_t r2 = svmul_x (svptrue_b32 (), r, r); in sv_exp2f_inline() 48 svfloat32_t p12 = svmla_lane (sv_f32 (d->c1), r, even_coeffs, 1); in sv_exp2f_inline() 49 svfloat32_t p34 = svmla_lane (sv_f32 (d->c3), r, even_coeffs, 2); in sv_exp2f_inline() [all …]
|
| H A D | erfcf.c | 52 svfloat32_t SV_NAME_F1 (erfc) (svfloat32_t x, const svbool_t pg) in erfc() 56 svfloat32_t a = svabs_x (pg, x); in erfc() 62 svfloat32_t shift = sv_f32 (dat->shift); in erfc() 63 svfloat32_t z = svadd_x (pg, a, shift); in erfc() 71 svfloat32_t erfcr = svld1_gather_index (pg, p, i); in erfc() 72 svfloat32_t scale = svld1_gather_index (pg, p + 1, i); in erfc() 75 svfloat32_t r = svsub_x (pg, z, shift); in erfc() 76 svfloat32_t d = svsub_x (pg, a, r); in erfc() 77 svfloat32_t d2 = svmul_x (svptrue_b32 (), d, d); in erfc() 78 svfloat32_t r2 = svmul_x (svptrue_b32 (), r, r); in erfc() [all …]
|
| H A D | tanf.c | 39 static svfloat32_t NOINLINE 40 special_case (svfloat32_t x, svfloat32_t y, svbool_t cmp) in special_case() 49 svfloat32_t SV_NAME_F1 (tan) (svfloat32_t x, const svbool_t pg) in tan() 53 svfloat32_t odd_coeffs = svld1rq (svptrue_b32 (), &d->c1); in tan() 54 svfloat32_t pi_vals = svld1rq (svptrue_b32 (), &d->pio2_1); in tan() 57 svfloat32_t n = svrintn_x (pg, svmul_lane (x, pi_vals, 3)); in tan() 64 svfloat32_t r; in tan() 77 svfloat32_t z = svneg_m (r, pred_alt, r); in tan() 81 svfloat32_t z2 = svmul_x (svptrue_b32 (), r, r); in tan() 82 svfloat32_t p01 = svmla_lane (sv_f32 (d->c0), z2, odd_coeffs, 0); in tan() [all …]
|
| H A D | atan2f.c | 26 static svfloat32_t NOINLINE 27 special_case (svfloat32_t y, svfloat32_t x, svfloat32_t ret, in special_case() 47 svfloat32_t SV_NAME_F2 (atan2) (svfloat32_t y, svfloat32_t x, in atan2() 59 svfloat32_t ax = svabs_x (pg, x); in atan2() 60 svfloat32_t ay = svabs_x (pg, y); in atan2() 71 svfloat32_t n = svsel (pred_aygtax, svneg_x (pg, ax), ay); in atan2() 72 svfloat32_t d = svsel (pred_aygtax, ay, ax); in atan2() 73 svfloat32_t z = svdiv_x (pg, n, d); in atan2() 76 svfloat32_t shift = svreinterpret_f32 (svlsr_x (pg, sign_x, 1)); in atan2() 82 svfloat32_t z2 = svmul_x (pg, z, z); in atan2() [all …]
|
| H A D | sv_expf_inline.h | 36 static inline svfloat32_t 37 expf_inline (svfloat32_t x, const svbool_t pg, const struct sv_expf_data *d) in expf_inline() 42 svfloat32_t lane_consts = svld1rq (svptrue_b32 (), &d->ln2_lo); in expf_inline() 45 svfloat32_t z = svmad_x (pg, sv_f32 (d->inv_ln2), x, d->shift); in expf_inline() 46 svfloat32_t n = svsub_x (pg, z, d->shift); in expf_inline() 49 svfloat32_t r = svmsb_x (pg, sv_f32 (d->ln2_hi), n, x); in expf_inline() 53 svfloat32_t scale = svexpa (svreinterpret_u32 (z)); in expf_inline() 56 svfloat32_t p12 = svmla_lane (sv_f32 (d->c1), r, lane_consts, 2); in expf_inline() 57 svfloat32_t p34 = svmla_lane (sv_f32 (d->c3), r, lane_consts, 3); in expf_inline() 58 svfloat32_t r2 = svmul_x (svptrue_b32 (), r, r); in expf_inline() [all …]
|
| H A D | sv_log1pf_inline.h | 31 static inline svfloat32_t 32 sv_log1pf_inline (svfloat32_t x, svbool_t pg) in sv_log1pf_inline() 44 svfloat32_t m = svadd_x (pg, x, 1); in sv_log1pf_inline() 52 svfloat32_t m_scale = svreinterpret_f32 ( in sv_log1pf_inline() 57 svfloat32_t s = svreinterpret_f32 (svsubr_x (pg, k, d->four)); in sv_log1pf_inline() 58 svfloat32_t fconst = svld1rq_f32 (svptrue_b32 (), &d->ln2); in sv_log1pf_inline() 62 svfloat32_t ms2 = svmul_x (svptrue_b32 (), m_scale, m_scale); in sv_log1pf_inline() 64 svfloat32_t c1357 = svld1rq_f32 (svptrue_b32 (), &d->c1); in sv_log1pf_inline() 65 svfloat32_t p01 = svmla_lane_f32 (sv_f32 (d->c0), m_scale, c1357, 0); in sv_log1pf_inline() 66 svfloat32_t p23 = svmla_lane_f32 (sv_f32 (d->c2), m_scale, c1357, 1); in sv_log1pf_inline() [all …]
|
| H A D | log2f.c | 36 static svfloat32_t NOINLINE 37 special_case (svuint32_t u_off, svfloat32_t p, svfloat32_t r2, svfloat32_t y, in special_case() 50 svfloat32_t SV_NAME_F1 (log2) (svfloat32_t x, const svbool_t pg) in log2() 60 svfloat32_t n = svcvt_f32_x ( in log2() 64 svfloat32_t r = svsub_x (pg, svreinterpret_f32 (u), 1.0f); in log2() 67 svfloat32_t r2 = svmul_x (svptrue_b32 (), r, r); in log2() 70 svfloat32_t p_1357 = svld1rq (svptrue_b32 (), &d->poly_1357[0]); in log2() 71 svfloat32_t q_01 = svmla_lane (sv_f32 (d->poly_02468[0]), r, p_1357, 0); in log2() 72 svfloat32_t q_23 = svmla_lane (sv_f32 (d->poly_02468[1]), r, p_1357, 1); in log2() 73 svfloat32_t q_45 = svmla_lane (sv_f32 (d->poly_02468[2]), r, p_1357, 2); in log2() [all …]
|
| H A D | cbrtf.c | 34 static svfloat32_t NOINLINE 35 special_case (svfloat32_t x, svfloat32_t y, svbool_t special) in special_case() 40 static inline svfloat32_t 52 svfloat32_t SV_NAME_F1 (cbrt) (svfloat32_t x, const svbool_t pg) in cbrt() 56 svfloat32_t ax = svabs_x (pg, x); in cbrt() 66 svfloat32_t m = svreinterpret_f32 (svorr_x ( in cbrt() 73 svfloat32_t p in cbrt() 77 svfloat32_t m_by_3 = svmul_x (pg, m, d->one_third); in cbrt() 78 svfloat32_t a = svmla_x (pg, svdiv_x (pg, m_by_3, svmul_x (pg, p, p)), p, in cbrt() 95 svfloat32_t ef = svmul_x (pg, svcvt_f32_x (pg, e), d->one_third); in cbrt() [all …]
|
| H A D | cosf.c | 29 static svfloat32_t NOINLINE 30 special_case (svfloat32_t x, svfloat32_t y, svbool_t oob) in special_case() 40 svfloat32_t SV_NAME_F1 (cos) (svfloat32_t x, const svbool_t pg) in cos() 44 svfloat32_t r = svabs_x (pg, x); in cos() 48 svfloat32_t negpio2_and_invpio2 = svld1rq (svptrue_b32 (), &d->neg_pio2_1); in cos() 51 svfloat32_t q = svmla_lane (sv_f32 (d->shift), r, negpio2_and_invpio2, 3); in cos() 52 svfloat32_t n = svsub_x (pg, q, d->shift); in cos() 60 svfloat32_t f = svtssel (r, svreinterpret_u32 (q)); in cos() 63 svfloat32_t r2 = svtsmul (r, svreinterpret_u32 (q)); in cos() 64 svfloat32_t y = sv_f32 (0.0f); in cos()
|
| H A D | expm1f.c | 31 static svfloat32_t NOINLINE 32 special_case (svfloat32_t x, svbool_t pg) in special_case() 40 svfloat32_t SV_NAME_F1 (expm1) (svfloat32_t x, svbool_t pg) in expm1() 53 svfloat32_t lane_constants = svld1rq (svptrue_b32 (), &d->c2); in expm1() 60 svfloat32_t j = svmul_x (svptrue_b32 (), x, d->inv_ln2); in expm1() 63 svfloat32_t f = svmls_lane (x, j, lane_constants, 2); in expm1() 71 svfloat32_t p12 = svmla_lane (sv_f32 (d->c1), f, lane_constants, 0); in expm1() 72 svfloat32_t p34 = svmla_lane (sv_f32 (d->c3), f, lane_constants, 1); in expm1() 73 svfloat32_t f2 = svmul_x (svptrue_b32 (), f, f); in expm1() 74 svfloat32_t p = svmla_x (pg, p12, f2, p34); in expm1() [all …]
|
| H A D | logf.c | 37 static svfloat32_t NOINLINE 38 special_case (svuint32_t u_off, svfloat32_t p, svfloat32_t r2, svfloat32_t y, in special_case() 50 svfloat32_t SV_NAME_F1 (log) (svfloat32_t x, const svbool_t pg) in log() 60 svfloat32_t n = svcvt_f32_x ( in log() 65 svfloat32_t r = svsub_x (pg, svreinterpret_f32 (u), 1.0f); in log() 68 svfloat32_t r2 = svmul_x (svptrue_b32 (), r, r); in log() 70 svfloat32_t p_0135 = svld1rq (svptrue_b32 (), &d->poly_0135[0]); in log() 71 svfloat32_t p = svmla_lane (sv_f32 (d->poly_246[0]), r, p_0135, 1); in log() 72 svfloat32_t q = svmla_lane (sv_f32 (d->poly_246[1]), r, p_0135, 2); in log() 73 svfloat32_t y = svmla_lane (sv_f32 (d->poly_246[2]), r, p_0135, 3); in log()
|
| H A D | acoshf.c | 16 static svfloat32_t NOINLINE 17 special_case (svfloat32_t xm1, svfloat32_t tmp, svbool_t special) in special_case() 19 svfloat32_t x = svadd_x (svptrue_b32 (), xm1, 1.0f); in special_case() 20 svfloat32_t y = sv_log1pf_inline (tmp, svptrue_b32 ()); in special_case() 30 svfloat32_t SV_NAME_F1 (acosh) (svfloat32_t x, const svbool_t pg) in acosh() 35 svfloat32_t xm1 = svsub_x (pg, x, 1.0f); in acosh() 36 svfloat32_t u = svmul_x (pg, xm1, svadd_x (pg, x, 1.0f)); in acosh() 37 svfloat32_t tmp = svadd_x (pg, xm1, svsqrt_x (pg, u)); in acosh()
|
| H A D | tanhf.c | 28 static svfloat32_t NOINLINE 29 special_case (svfloat32_t x, svbool_t pg, svbool_t is_boring, in special_case() 30 svfloat32_t boring, svfloat32_t q, svbool_t special) in special_case() 32 svfloat32_t y in special_case() 41 svfloat32_t SV_NAME_F1 (tanh) (svfloat32_t x, const svbool_t pg) in tanh() 45 svfloat32_t ax = svabs_x (pg, x); in tanh() 48 svfloat32_t boring = svreinterpret_f32 (svorr_x (pg, sign, d->onef)); in tanh() 53 svfloat32_t q = expm1f_inline (svmul_x (svptrue_b32 (), x, 2.0), pg, in tanh() 58 svfloat32_t y = svdiv_x (pg, q, svadd_x (pg, q, 2.0)); in tanh()
|
| H A D | sv_expm1f_inline.h | 31 static inline svfloat32_t 32 expm1f_inline (svfloat32_t x, svbool_t pg, const struct sv_expm1f_data *d) in expm1f_inline() 37 svfloat32_t lane_constants = svld1rq (svptrue_b32 (), &d->c2); in expm1f_inline() 44 svfloat32_t j = svmul_x (svptrue_b32 (), x, d->inv_ln2); in expm1f_inline() 47 svfloat32_t f = svmls_lane (x, j, lane_constants, 2); in expm1f_inline() 55 svfloat32_t p12 = svmla_lane (sv_f32 (d->c1), f, lane_constants, 0); in expm1f_inline() 56 svfloat32_t p34 = svmla_lane (sv_f32 (d->c3), f, lane_constants, 1); in expm1f_inline() 57 svfloat32_t f2 = svmul_x (svptrue_b32 (), f, f); in expm1f_inline() 58 svfloat32_t p = svmla_x (pg, p12, f2, p34); in expm1f_inline() 65 svfloat32_t t = svscale_x (pg, sv_f32 (1.0f), svcvt_s32_x (pg, j)); in expm1f_inline()
|
| H A D | erff.c | 42 svfloat32_t SV_NAME_F1 (erf) (svfloat32_t x, const svbool_t pg) in erf() 51 svfloat32_t a = svabs_x (pg, x); in erf() 53 svfloat32_t shift = sv_f32 (dat->shift); in erf() 54 svfloat32_t z = svadd_x (pg, a, shift); in erf() 59 svfloat32_t r = svsub_z (a_gt_min, z, shift); in erf() 60 svfloat32_t erfr in erf() 64 svfloat32_t scale in erf() 69 svfloat32_t d = svsub_x (pg, a, r); in erf() 70 svfloat32_t d2 = svmul_x (pg, d, d); in erf() 71 svfloat32_t y = svmla_x (pg, r, d, dat->third); in erf()
|
| H A D | coshf.c | 23 static svfloat32_t NOINLINE 24 special_case (svfloat32_t x, svfloat32_t half_e, svfloat32_t half_over_e, in special_case() 35 svfloat32_t SV_NAME_F1 (cosh) (svfloat32_t x, svbool_t pg) in cosh() 46 svfloat32_t e = expf_inline (x, pg, &d->expf_consts); in cosh() 47 svfloat32_t half_e = svmul_x (svptrue_b32 (), e, 0.5); in cosh() 48 svfloat32_t half_over_e = svdivr_x (pg, e, 0.5); in cosh()
|
| H A D | acosf.c | 44 svfloat32_t SV_NAME_F1 (acos) (svfloat32_t x, const svbool_t pg) in acos() 49 svfloat32_t ax = svabs_x (pg, x); in acos() 55 svfloat32_t z2 = svsel (a_gt_half, svmls_x (pg, sv_f32 (0.5), ax, 0.5), in acos() 57 svfloat32_t z = svsqrt_m (ax, a_gt_half, z2); in acos() 60 svfloat32_t p = sv_horner_4_f32_x (pg, z2, d->poly); in acos() 67 svfloat32_t y in acos() 71 svfloat32_t off = svdup_f32_z (is_neg, d->pi); in acos() 72 svfloat32_t mul = svsel (a_gt_half, sv_f32 (2.0), sv_f32 (-1.0)); in acos() 73 svfloat32_t add = svsel (a_gt_half, off, sv_f32 (d->pi_over_2)); in acos()
|
| H A D | sinf.c | 35 static svfloat32_t NOINLINE 36 special_case (svfloat32_t x, svfloat32_t y, svbool_t cmp) in special_case() 46 svfloat32_t SV_NAME_F1 (sin) (svfloat32_t x, const svbool_t pg) in sin() 50 svfloat32_t ax = svabs_x (pg, x); in sin() 57 svfloat32_t pi_vals = svld1rq (svptrue_b32 (), &d->negpi1); in sin() 60 svfloat32_t n = svmla_lane (sv_f32 (d->shift), ax, pi_vals, 3); in sin() 65 svfloat32_t r; in sin() 72 svfloat32_t r2 = svmul_x (pg, r, r); in sin() 73 svfloat32_t y; in sin()
|
| /src/contrib/arm-optimized-routines/math/test/ ! |
| H A D | mathbench_wrappers.h | 156 static svfloat32_t 157 _Z_sv_atan2f_wrap (svfloat32_t x, svbool_t pg) in _Z_sv_atan2f_wrap() 168 static svfloat32_t 169 _Z_sv_hypotf_wrap (svfloat32_t x, svbool_t pg) in _Z_sv_hypotf_wrap() 180 static svfloat32_t 181 xy_Z_sv_powf (svfloat32_t x, svbool_t pg) in xy_Z_sv_powf() 186 static svfloat32_t 187 x_Z_sv_powf (svfloat32_t x, svbool_t pg) in x_Z_sv_powf() 192 static svfloat32_t 193 y_Z_sv_powf (svfloat32_t x, svbool_t pg) in y_Z_sv_powf() [all …]
|