about summary refs log tree commit diff
path: root/sysdeps/aarch64/fpu/test-double-vlen2-wrappers.c
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2019-06-28 15:23:27 +0100
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2019-07-16 11:01:51 +0100
commit9179115ee07fb9abc7e43c2643955b6947cd8fa2 (patch)
tree53a81d3687c2ecad27cd31fea1fbb9da15008df8 /sysdeps/aarch64/fpu/test-double-vlen2-wrappers.c
parent80792b61024d810c3d36e9a1dd8a166249d8b6e8 (diff)
downloadglibc-9179115ee07fb9abc7e43c2643955b6947cd8fa2.tar.gz
glibc-9179115ee07fb9abc7e43c2643955b6947cd8fa2.tar.xz
glibc-9179115ee07fb9abc7e43c2643955b6947cd8fa2.zip
aarch64: add vector sin, cos, log and pow abi symbols nsz/mathvec
Add simple assembly implementations that fall back to scalar code,
similar to the vector exp code.

2019-07-15  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* sysdeps/aarch64/fpu/Makefile: Add functions.
	* sysdeps/aarch64/fpu/Versions: Add symbols.
	* sysdeps/aarch64/fpu/libmvec_double_vlen2_cos.S: New file.
	* sysdeps/aarch64/fpu/libmvec_double_vlen2_log.S: New file.
	* sysdeps/aarch64/fpu/libmvec_double_vlen2_pow.S: New file.
	* sysdeps/aarch64/fpu/libmvec_double_vlen2_sin.S: New file.
	* sysdeps/aarch64/fpu/libmvec_float_vlen4_cosf.S: New file.
	* sysdeps/aarch64/fpu/libmvec_float_vlen4_logf.S: New file.
	* sysdeps/aarch64/fpu/libmvec_float_vlen4_powf.S: New file.
	* sysdeps/aarch64/fpu/libmvec_float_vlen4_sinf.S: New file.
	* sysdeps/aarch64/fpu/test-double-vlen2-wrappers.c: Add wrappers.
	* sysdeps/aarch64/fpu/test-float-vlen4-wrappers.c: Add wrappers.
	* sysdeps/aarch64/libm-test-ulps: Update.
	* sysdeps/unix/sysv/linux/aarch64/libmvec.abilist: Update.
Diffstat (limited to 'sysdeps/aarch64/fpu/test-double-vlen2-wrappers.c')
-rw-r--r--sysdeps/aarch64/fpu/test-double-vlen2-wrappers.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sysdeps/aarch64/fpu/test-double-vlen2-wrappers.c b/sysdeps/aarch64/fpu/test-double-vlen2-wrappers.c
index 6c6c44d6b5..00c5f5bd4b 100644
--- a/sysdeps/aarch64/fpu/test-double-vlen2-wrappers.c
+++ b/sysdeps/aarch64/fpu/test-double-vlen2-wrappers.c
@@ -25,4 +25,16 @@
    placing it here happens to work, should be fixed in test-math-vector.h.  */
 __attribute__ ((aarch64_vector_pcs))
 
+VECTOR_WRAPPER (WRAPPER_NAME (cos), _ZGVnN2v_cos)
+
+__attribute__ ((aarch64_vector_pcs))
 VECTOR_WRAPPER (WRAPPER_NAME (exp), _ZGVnN2v_exp)
+
+__attribute__ ((aarch64_vector_pcs))
+VECTOR_WRAPPER (WRAPPER_NAME (log), _ZGVnN2v_log)
+
+__attribute__ ((aarch64_vector_pcs))
+VECTOR_WRAPPER_ff (WRAPPER_NAME (pow), _ZGVnN2vv_pow)
+
+__attribute__ ((aarch64_vector_pcs))
+VECTOR_WRAPPER (WRAPPER_NAME (sin), _ZGVnN2v_sin)