about summary refs log tree commit diff
path: root/sysdeps/aarch64/fpu/test-double-sve-wrappers.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/aarch64/fpu/test-double-sve-wrappers.c')
-rw-r--r--sysdeps/aarch64/fpu/test-double-sve-wrappers.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sysdeps/aarch64/fpu/test-double-sve-wrappers.c b/sysdeps/aarch64/fpu/test-double-sve-wrappers.c
index 1173d8f9ae..5bbc4d58c1 100644
--- a/sysdeps/aarch64/fpu/test-double-sve-wrappers.c
+++ b/sysdeps/aarch64/fpu/test-double-sve-wrappers.c
@@ -32,9 +32,20 @@
     return svlastb_f64 (svptrue_b64 (), 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_f64 (x);                                            \
+    VEC_TYPE my = svdup_n_f64 (y);                                            \
+    VEC_TYPE mr = vector_func (mx, my, svptrue_b64 ());                       \
+    return svlastb_f64 (svptrue_b64 (), mr);                                  \
+  }
+
 SVE_VECTOR_WRAPPER (acos_sve, _ZGVsMxv_acos)
 SVE_VECTOR_WRAPPER (asin_sve, _ZGVsMxv_asin)
 SVE_VECTOR_WRAPPER (atan_sve, _ZGVsMxv_atan)
+SVE_VECTOR_WRAPPER_ff (atan2_sve, _ZGVsMxvv_atan2)
 SVE_VECTOR_WRAPPER (cos_sve, _ZGVsMxv_cos)
 SVE_VECTOR_WRAPPER (exp_sve, _ZGVsMxv_exp)
 SVE_VECTOR_WRAPPER (exp10_sve, _ZGVsMxv_exp10)