public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc/nsz/mathvec] (2 commits) aarch64: add vector sin, cos, log and pow abi symbols
@ 2019-07-16 10:25 Szabolcs Nagy
0 siblings, 0 replies; only message in thread
From: Szabolcs Nagy @ 2019-07-16 10:25 UTC (permalink / raw)
To: glibc-cvs
The branch 'nsz/mathvec' was updated to point to:
9179115... aarch64: add vector sin, cos, log and pow abi symbols
It previously pointed to:
816022e... aarch64: add vector sin, cos, log and pow abi symbols
Diff:
!!! WARNING: THE FOLLOWING COMMITS ARE NO LONGER ACCESSIBLE (LOST):
-------------------------------------------------------------------
816022e... aarch64: add vector sin, cos, log and pow abi symbols
f347065... Aarch64: Add simd exp/expf ABI symbols
commit 816022eab32547f850d81f495e39f24e419a132d
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date: Fri Jun 28 15:23:27 2019 +0100
aarch64: add vector sin, cos, log and pow abi symbols
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.
commit f34706523b93e2ea126e895fb3c985c562c45b5b
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date: Fri Jun 28 11:29:19 2019 +0100
Aarch64: Add simd exp/expf ABI symbols
The implementation is in assembly and just calls the scalar math code.
This ensures that old compiler without vector call abi support can
build libmvec. The abi is supported since GCC 9.1, the specification is
https://developer.arm.com/tools-and-software/server-and-hpc/arm-architecture-tools/arm-compiler-for-hpc/vector-function-abi
Vector functions require a STO_AARCH64_VARIANT_PCS marking in the
dynamic symbol table for lazy bound calls to work. This will be
missing in libmvec, which works because the marking only affects
the behaviour if there are calls to the symbols in the binary.
Testing requires vector call abi support, which is detected.
Header declarations are not added yet, so the symbols will not be used
by the compiler: they are just added so the abi is in place which
enables backporting later. Currently we cannot add correct declarations
that only declare the specific symbols we provide: the OpenMP pragma
mechanism would declare both AdvSIMD and SVE variants.
2019-07-15 Steve Ellcey <sellcey@marvell.com>
Szabolcs Nagy <szabolcs.nagy@arm.com>
* sysdeps/aarch64/configure.ac (build_mathvec): Enable.
(test-mathvec): Enable if ABI is supported.
* sysdeps/aarch64/configure: Regenerate.
* sysdeps/aarch64/fpu/Makefile
(libmvec-support): Add libmvec_double_vlen2_exp,
libmvec_float_vlen4_expf to list.
(libmvec-tests): Add double-vlen2, float-vlen4 to list.
(double-vlen2-funcs): Add new vector function name.
(float-vlen4-funcs): Add new vector function name.
* sysdeps/aarch64/fpu/Versions: New file.
* sysdeps/aarch64/fpu/libmvec_double_vlen2.h: New file.
* sysdeps/aarch64/fpu/libmvec_double_vlen2_exp.S: New file.
* sysdeps/aarch64/fpu/libmvec_float_vlen4.h: New file.
* sysdeps/aarch64/fpu/libmvec_float_vlen4_expf.S: New file.
* sysdeps/aarch64/fpu/test-double-vlen2-wrappers.c: New file.
* sysdeps/aarch64/fpu/test-float-vlen4-wrappers.c: New file.
* sysdeps/aarch64/libm-test-ulps (exp_vlen2): New entry.
(exp_vlen4): Likewise.
* sysdeps/unix/sysv/linux/aarch64/libmvec.abilist: New file.
Summary of changes (added commits):
-----------------------------------
9179115... aarch64: add vector sin, cos, log and pow abi symbols
80792b6... Aarch64: Add simd exp/expf ABI symbols
commit 9179115ee07fb9abc7e43c2643955b6947cd8fa2
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date: Fri Jun 28 15:23:27 2019 +0100
aarch64: add vector sin, cos, log and pow abi symbols
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.
commit 80792b61024d810c3d36e9a1dd8a166249d8b6e8
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date: Fri Jun 28 11:29:19 2019 +0100
Aarch64: Add simd exp/expf ABI symbols
The implementation is in assembly and just calls the scalar math code.
This ensures that old compiler without vector call abi support can
build libmvec. The abi is supported since GCC 9.1, the specification is
https://developer.arm.com/tools-and-software/server-and-hpc/arm-architecture-tools/arm-compiler-for-hpc/vector-function-abi
Vector functions require a STO_AARCH64_VARIANT_PCS marking in the
dynamic symbol table for lazy bound calls to work. This will be
missing in libmvec, which works because the marking only affects
the behaviour if there are calls to the symbols in the binary.
Testing requires vector call abi support, which is detected.
Header declarations are not added yet, so the symbols will not be used
by the compiler: they are just added so the abi is in place which
enables backporting later. Currently we cannot add correct declarations
that only declare the specific symbols we provide: the OpenMP pragma
mechanism would declare both AdvSIMD and SVE variants.
2019-07-15 Steve Ellcey <sellcey@marvell.com>
Szabolcs Nagy <szabolcs.nagy@arm.com>
* sysdeps/aarch64/configure.ac (build_mathvec): Enable.
(test-mathvec): Enable if ABI is supported.
* sysdeps/aarch64/configure: Regenerate.
* sysdeps/aarch64/fpu/Makefile
(libmvec-support): Add libmvec_double_vlen2_exp,
libmvec_float_vlen4_expf to list.
(libmvec_nonshared.a): Use make-dummy-lib.
(libmvec-tests): Add double-vlen2, float-vlen4 to list.
(double-vlen2-funcs): Add new vector function name.
(float-vlen4-funcs): Add new vector function name.
* sysdeps/aarch64/fpu/Versions: New file.
* sysdeps/aarch64/fpu/libmvec_double_vlen2.h: New file.
* sysdeps/aarch64/fpu/libmvec_double_vlen2_exp.S: New file.
* sysdeps/aarch64/fpu/libmvec_float_vlen4.h: New file.
* sysdeps/aarch64/fpu/libmvec_float_vlen4_expf.S: New file.
* sysdeps/aarch64/fpu/test-double-vlen2-wrappers.c: New file.
* sysdeps/aarch64/fpu/test-float-vlen4-wrappers.c: New file.
* sysdeps/aarch64/libm-test-ulps (exp_vlen2): New entry.
(exp_vlen4): Likewise.
* sysdeps/unix/sysv/linux/aarch64/libmvec.abilist: New file.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-07-16 10:25 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-16 10:25 [glibc/nsz/mathvec] (2 commits) aarch64: add vector sin, cos, log and pow abi symbols Szabolcs Nagy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).