Lines Matching refs:pg
25 check_ge_rangeval (svbool_t pg, svfloat32_t x, const struct sv_sincosf_data *d)
27 svbool_t in_bounds = svaclt (pg, x, d->range_val);
28 return svnot_z (pg, in_bounds);
39 sv_sincosf_inline (svbool_t pg, svfloat32_t x, const struct sv_sincosf_data *d)
42 svfloat32_t q = svmla_x (pg, sv_f32 (d->shift), x, d->inv_pio2);
43 q = svsub_x (pg, q, d->shift);
44 svint32_t n = svcvt_s32_x (pg, q);
48 r = svmls_x (pg, r, q, d->pio2[0]);
49 r = svmls_x (pg, r, q, d->pio2[1]);
50 r = svmls_x (pg, r, q, d->pio2[2]);
53 svfloat32_t r2 = svmul_x (pg, r, r), r3 = svmul_x (pg, r, r2);
54 svfloat32_t s = svmla_x (pg, sv_f32 (d->poly_sin[1]), r2, d->poly_sin[2]);
55 s = svmad_x (pg, r2, s, d->poly_sin[0]);
56 s = svmla_x (pg, r, r3, s);
59 svfloat32_t r4 = svmul_x (pg, r2, r2);
60 svfloat32_t p = svmla_x (pg, sv_f32 (d->poly_cos[1]), r2, d->poly_cos[2]);
61 svfloat32_t c = svmad_x (pg, sv_f32 (d->poly_cos[0]), r2, -0.5);
62 c = svmla_x (pg, c, r4, p);
63 c = svmad_x (pg, r2, c, 1);
67 svbool_t swap = svcmpeq (pg, svlsl_x (pg, un, 31), 0);
74 svuint32_t sin_sign = svlsl_x (pg, svand_x (pg, un, 2), 30);
76 pg, svand_x (pg, svreinterpret_u32 (svadd_x (pg, n, 1)), 2), 30);
77 ss = svreinterpret_f32 (sveor_x (pg, svreinterpret_u32 (ss), sin_sign));
78 cc = svreinterpret_f32 (sveor_x (pg, svreinterpret_u32 (cc), cos_sign));