diff options
author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2019-06-28 15:23:27 +0100 |
---|---|---|
committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2019-07-16 11:01:51 +0100 |
commit | 9179115ee07fb9abc7e43c2643955b6947cd8fa2 (patch) | |
tree | 53a81d3687c2ecad27cd31fea1fbb9da15008df8 /sysdeps/aarch64/fpu/libmvec_float_vlen4_sinf.S | |
parent | 80792b61024d810c3d36e9a1dd8a166249d8b6e8 (diff) | |
download | glibc-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.S | 21 |
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" |