This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[glibc/nsz/mathvec] (2 commits) aarch64: add vector sin, cos, log and pow abi symbols


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]