diff options
author | Joe Ramsay <Joe.Ramsay@arm.com> | 2023-11-03 12:12:22 +0000 |
---|---|---|
committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2023-11-10 17:07:43 +0000 |
commit | b07038c5d304a7afc312516ce0ff886a57bf3163 (patch) | |
tree | 34d0a8e9e4d170229e4385dd849883c9af5dbee9 /sysdeps/aarch64/fpu/test-float-sve-wrappers.c | |
parent | d30c39f80d19d62e8fd750c424ccb7eb06b617e5 (diff) | |
download | glibc-b07038c5d304a7afc312516ce0ff886a57bf3163.zip glibc-b07038c5d304a7afc312516ce0ff886a57bf3163.tar.gz glibc-b07038c5d304a7afc312516ce0ff886a57bf3163.tar.bz2 |
aarch64: Add vector implementations of atan2 routines
Diffstat (limited to 'sysdeps/aarch64/fpu/test-float-sve-wrappers.c')
-rw-r--r-- | sysdeps/aarch64/fpu/test-float-sve-wrappers.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sysdeps/aarch64/fpu/test-float-sve-wrappers.c b/sysdeps/aarch64/fpu/test-float-sve-wrappers.c index dddd4cb..f36939e 100644 --- a/sysdeps/aarch64/fpu/test-float-sve-wrappers.c +++ b/sysdeps/aarch64/fpu/test-float-sve-wrappers.c @@ -32,9 +32,20 @@ return svlastb_f32 (svptrue_b32 (), mr); \ } +#define SVE_VECTOR_WRAPPER_ff(scalar_func, vector_func) \ + extern VEC_TYPE vector_func (VEC_TYPE, VEC_TYPE, svbool_t); \ + FLOAT scalar_func (FLOAT x, FLOAT y) \ + { \ + VEC_TYPE mx = svdup_n_f32 (x); \ + VEC_TYPE my = svdup_n_f32 (y); \ + VEC_TYPE mr = vector_func (mx, my, svptrue_b32 ()); \ + return svlastb_f32 (svptrue_b32 (), mr); \ + } + SVE_VECTOR_WRAPPER (acosf_sve, _ZGVsMxv_acosf) SVE_VECTOR_WRAPPER (asinf_sve, _ZGVsMxv_asinf) SVE_VECTOR_WRAPPER (atanf_sve, _ZGVsMxv_atanf) +SVE_VECTOR_WRAPPER_ff (atan2f_sve, _ZGVsMxvv_atan2f) SVE_VECTOR_WRAPPER (cosf_sve, _ZGVsMxv_cosf) SVE_VECTOR_WRAPPER (expf_sve, _ZGVsMxv_expf) SVE_VECTOR_WRAPPER (exp10f_sve, _ZGVsMxv_exp10f) |