platform_bionic/libm
Adhemerval Zanella f6b101d3ec Use double-precision routines from arm-optimized-routines
This patch ues exp, exp2, log, log2, and pow from arm optimized
routines.  For pow on x86_64, although slight slower it simplifies
the code required on both bionic and arm-optimized-routines (so
there is no need to select and export the symbol based on
architecture).

Performance-wise the improvements are:

  x86_64    throughput    latency
  exp            1.16x      1.16x
  log            1.08x      0.95x
  exp2           1.27x      1.55x
  log2           1.40x      1.43x
  pow            0.77x      0.89x *

  * I tried to check if AVX2/FMA but without success.

  aarch64   throughput     latency
  exp            2.33x      2.16x
  exp2           1.99x      1.50x
  log            1.79x      1.43x
  log2           2.15x      1.80x
  pow            3.81x      3.07x

Test: ran bionic tests on static mode.
Change-Id: Ib16bf3280c5329fd257a3b3f0b6c4f2f3cb34deb
2018-08-09 11:22:24 -03:00
..
amd64 Move math headers in with the other headers. 2016-04-02 08:36:33 -07:00
arm Fix arm/arm64 <fenv.h> to match current reality. 2017-11-03 16:46:32 -07:00
arm64 Use builtins for fma/fmax/fmin/round on arm64. 2017-11-09 15:57:34 -08:00
i387 Make it possible to build bionic with -I instead of -isystem. 2016-07-22 13:12:53 -07:00
mips Move mips fenv implementation details into fenv.c. 2014-06-09 15:25:15 -07:00
upstream-freebsd Update to FreeBSD libm r336665. 2018-07-24 10:36:00 -07:00
upstream-netbsd/lib/libm Update to FreeBSD libm r336665. 2018-07-24 10:36:00 -07:00
x86 Minor copyright header unification. 2016-10-24 12:57:55 -07:00
x86_64 Minor copyright header unification. 2016-10-24 12:57:55 -07:00
Android.bp Use double-precision routines from arm-optimized-routines 2018-08-09 11:22:24 -03:00
builtins.cpp Use builtins for fma/fmax/fmin/round on arm64. 2017-11-09 15:57:34 -08:00
digittoint.c Upgrade libm. 2013-02-01 14:51:19 -08:00
fake_long_double.c Use double-precision routines from arm-optimized-routines 2018-08-09 11:22:24 -03:00
fpmath.h Switch the rest of our internal headers to #pragma once. 2018-02-13 14:27:17 -08:00
freebsd-compat.h Update to FreeBSD libm r336665. 2018-07-24 10:36:00 -07:00
libm.arm.map Add <glob.h>. 2017-09-26 18:46:09 -07:00
libm.arm64.map Add <glob.h>. 2017-09-26 18:46:09 -07:00
libm.map.txt Add missing libm introduced=26 annotations. 2017-08-29 11:45:31 -07:00
libm.mips.map Add <glob.h>. 2017-09-26 18:46:09 -07:00
libm.mips64.map Add <glob.h>. 2017-09-26 18:46:09 -07:00
libm.x86.map Add <glob.h>. 2017-09-26 18:46:09 -07:00
libm.x86_64.map Add <glob.h>. 2017-09-26 18:46:09 -07:00
MODULE_LICENSE_BSD_LIKE Initial Contribution 2008-10-21 07:00:00 -07:00
signbit.cpp Remove some legacy declarations from <math.h>. 2017-10-19 14:15:31 -07:00
significandl.c Clean-up _fpmath and fake_long_doubles 2014-04-23 19:03:06 +01:00