[v3,0/4] Enable generic math code for more arches

Message ID 20200602213220.6201-1-vgupta@synopsys.com
Headers
Series Enable generic math code for more arches |

Message

Vineet Gupta June 2, 2020, 9:32 p.m. UTC
  Hi,

This was suggested by Adhemerval Zanella as part of ARC hard float
review.

changes since v2:
  - Add new defines (0) to s390 too as suggested by Stephan
  - Handle USE_FMA_BUILTIN in both sysdeps/ieee754/{dbl-64,ldbl-128}/s_fma.c
  - Add diff output for all arches build tested

build-glibc-many tested for following
  aarch64-linux-gnu
  arm-linux-gnueabi
  arm-linux-gnueabihf
  hppa-linux-gnu
  x86_64-linux-gnu
  riscv64-linux-gnu-rv64imac-lp64
  riscv64-linux-gnu-rv64imafdc-lp64
  powerpc-linux-gnu
  microblaze-linux-gnu
  nios2-linux-gnu
  hppa-linux-gnu
  s390x-linux-gnu"

Thx,
-Vineet

Vineet Gupta (4):
  iee754: provide gcc builtins based generic sqrt functions
  iee754: provide gcc builtins based generic fma functions
  aarch/fpu: use generic builtins based math functions
  powerpc/fpu: use generic fma functions

 sysdeps/aarch64/fpu/e_sqrt.c                | 27 --------
 sysdeps/aarch64/fpu/e_sqrtf.c               | 27 --------
 sysdeps/aarch64/fpu/math-use-builtins.h     | 71 +++++++++++++++++++++
 sysdeps/aarch64/fpu/s_floor.c               | 29 ---------
 sysdeps/aarch64/fpu/s_floorf.c              | 29 ---------
 sysdeps/aarch64/fpu/s_fma.c                 | 28 --------
 sysdeps/aarch64/fpu/s_fmaf.c                | 28 --------
 sysdeps/aarch64/fpu/s_nearbyint.c           | 28 --------
 sysdeps/aarch64/fpu/s_nearbyintf.c          | 28 --------
 sysdeps/aarch64/fpu/s_rint.c                | 29 ---------
 sysdeps/aarch64/fpu/s_rintf.c               | 29 ---------
 sysdeps/aarch64/fpu/s_round.c               | 29 ---------
 sysdeps/aarch64/fpu/s_roundf.c              | 29 ---------
 sysdeps/aarch64/fpu/s_trunc.c               | 29 ---------
 sysdeps/aarch64/fpu/s_truncf.c              | 29 ---------
 sysdeps/generic/math-use-builtins.h         |  8 +++
 sysdeps/ieee754/dbl-64/e_sqrt.c             |  6 ++
 sysdeps/ieee754/dbl-64/s_fma.c              |  6 ++
 sysdeps/ieee754/dbl-64/s_fmaf.c             |  6 ++
 sysdeps/ieee754/float128/float128_private.h |  2 +
 sysdeps/ieee754/flt-32/e_sqrtf.c            | 16 +++--
 sysdeps/ieee754/ldbl-128/s_fma.c            |  5 ++
 sysdeps/ieee754/ldbl-128/s_fmal.c           |  5 ++
 sysdeps/powerpc/fpu/math-use-builtins.h     | 69 ++++++++++++++++++++
 sysdeps/powerpc/fpu/s_fma.c                 | 27 --------
 sysdeps/powerpc/fpu/s_fmaf.c                | 27 --------
 sysdeps/s390/fpu/math-use-builtins.h        |  8 +++
 27 files changed, 196 insertions(+), 458 deletions(-)
 delete mode 100644 sysdeps/aarch64/fpu/e_sqrt.c
 delete mode 100644 sysdeps/aarch64/fpu/e_sqrtf.c
 create mode 100644 sysdeps/aarch64/fpu/math-use-builtins.h
 delete mode 100644 sysdeps/aarch64/fpu/s_floor.c
 delete mode 100644 sysdeps/aarch64/fpu/s_floorf.c
 delete mode 100644 sysdeps/aarch64/fpu/s_fma.c
 delete mode 100644 sysdeps/aarch64/fpu/s_fmaf.c
 delete mode 100644 sysdeps/aarch64/fpu/s_nearbyint.c
 delete mode 100644 sysdeps/aarch64/fpu/s_nearbyintf.c
 delete mode 100644 sysdeps/aarch64/fpu/s_rint.c
 delete mode 100644 sysdeps/aarch64/fpu/s_rintf.c
 delete mode 100644 sysdeps/aarch64/fpu/s_round.c
 delete mode 100644 sysdeps/aarch64/fpu/s_roundf.c
 delete mode 100644 sysdeps/aarch64/fpu/s_trunc.c
 delete mode 100644 sysdeps/aarch64/fpu/s_truncf.c
 create mode 100644 sysdeps/powerpc/fpu/math-use-builtins.h
 delete mode 100644 sysdeps/powerpc/fpu/s_fma.c
 delete mode 100644 sysdeps/powerpc/fpu/s_fmaf.c