about summary refs log tree commit diff
path: root/sysdeps/aarch64/fpu/libmvec_float_vlen4_sinf.S
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/libmvec_float_vlen4_sinf.S
parent80792b61024d810c3d36e9a1dd8a166249d8b6e8 (diff)
downloadglibc-nsz/mathvec.tar.gz
glibc-nsz/mathvec.tar.xz
glibc-nsz/mathvec.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/libmvec_float_vlen4_sinf.S')
-rw-r--r--sysdeps/aarch64/fpu/libmvec_float_vlen4_sinf.S21
1 files changed, 21 insertions, 0 deletions
diff --git a/sysdeps/aarch64/fpu/libmvec_float_vlen4_sinf.S b/sysdeps/aarch64/fpu/libmvec_float_vlen4_sinf.S
new file mode 100644
index 0000000000..49b8e95a91
--- /dev/null
+++ b/sysdeps/aarch64/fpu/libmvec_float_vlen4_sinf.S
@@ -0,0 +1,21 @@
+/* Single-precision 4 element vector sin function.
+   Copyright (C) 2019 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define SCALAR_FUNCTION sinf
+#define VECTOR_FUNCTION _ZGVnN4v_sinf
+#include "libmvec_float_vlen4.h"