/freebsd/contrib/arm-optimized-routines/math/aarch64/advsimd/ |
H A D | hypot.c | 32 special_case (float64x2_t x, float64x2_t y, float64x2_t sqsum, in special_case() argument 35 return v_call2_f64 (hypot, x, y, vsqrtq_f64 (sqsum), vmovl_u32 (special)); in special_case() 63 float64x2_t sqsum = vfmaq_f64 (vmulq_f64 (ax, ax), ay, ay); in V_NAME_D2() local 66 return special_case (x, y, sqsum, special); in V_NAME_D2() 68 return vsqrtq_f64 (sqsum); in V_NAME_D2() 76 float64x2_t sqsum = vfmaq_f64 (vmulq_f64 (x, x), y, y); in V_NAME_D2() local 79 = vcge_u32 (vsubhn_u64 (vreinterpretq_u64_f64 (sqsum), d->tiny_bound), in V_NAME_D2() 83 return special_case (x, y, sqsum, special); in V_NAME_D2() 85 return vsqrtq_f64 (sqsum); in V_NAME_D2()
|
H A D | hypotf.c | 32 special_case (float32x4_t x, float32x4_t y, float32x4_t sqsum, in special_case() argument 35 return v_call2_f32 (hypotf, x, y, vsqrtq_f32 (sqsum), vmovl_u16 (special)); in special_case() 62 float32x4_t sqsum = vfmaq_f32 (vmulq_f32 (ax, ax), ay, ay); in V_NAME_F2() local 65 return special_case (x, y, sqsum, special); in V_NAME_F2() 67 return vsqrtq_f32 (sqsum); in V_NAME_F2() 75 float32x4_t sqsum = vfmaq_f32 (vmulq_f32 (x, x), y, y); in V_NAME_F2() local 78 = vcge_u16 (vsubhn_u32 (vreinterpretq_u32_f32 (sqsum), d->tiny_bound), in V_NAME_F2() 82 return special_case (x, y, sqsum, special); in V_NAME_F2() 84 return vsqrtq_f32 (sqsum); in V_NAME_F2()
|
/freebsd/contrib/arm-optimized-routines/math/aarch64/sve/ |
H A D | hypotf.c | 16 special_case (svfloat32_t sqsum, svfloat32_t x, svfloat32_t y, svbool_t pg, in special_case() argument 19 return sv_call2_f32 (hypotf, x, y, svsqrt_x (pg, sqsum), special); in special_case() 29 svfloat32_t sqsum = svmla_x (pg, svmul_x (pg, x, x), y, y); in SV_NAME_F2() local 32 pg, svsub_x (pg, svreinterpret_u32 (sqsum), TinyBound), Thres); in SV_NAME_F2() 35 return special_case (sqsum, x, y, pg, special); in SV_NAME_F2() 37 return svsqrt_x (pg, sqsum); in SV_NAME_F2()
|
H A D | hypot.c | 21 special_case (svfloat64_t sqsum, svfloat64_t x, svfloat64_t y, svbool_t pg, in special_case() argument 24 return sv_call2_f64 (hypot, x, y, svsqrt_x (pg, sqsum), special); in special_case() 36 svfloat64_t sqsum = svmla_x (pg, svmul_x (pg, x, x), y, y); in SV_NAME_D2() local 39 pg, svsub_x (pg, svreinterpret_u64 (sqsum), d->tiny_bound), d->thres); in SV_NAME_D2() 42 return special_case (sqsum, x, y, pg, special); in SV_NAME_D2() 43 return svsqrt_x (pg, sqsum); in SV_NAME_D2()
|