sparc: Assume VIS3 support

System Internals / glibc - Adhemerval Zanella [linaro.org] - 29 November 2017 10:18 EST

This patch assumes VIS3 support by binutils, which is supported since
version 2.22. This leads to some code simplification, mostly on multiarch build where there is only one variant instead of previously two (whether binutils supports VIS3 instructions or not).

For multiarch files where HAVE_AS_VIS3_SUPPORT was checked and the default implementation was built with a different name, a new file with (implementation with -generic appended) is added.

Checked on sparc64-linux-gnu and sparcv9-linux-gnu.

- config.h.in (HAVE_AS_VIS3_SUPPORT): Remove check for VIS3 support.
- sysdeps/sparc/configure.ac (HAVE_AS_VIS3_SUPPORT): Likewise.
- sysdeps//sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c: Likewise.
- sysdeps//sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.c: Likewise.
- sysdeps//sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c: Likewise.
- sysdeps//sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf.c: Likewise.
- sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.c: Likewise.
- sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c: Likewise.
- sysdeps/sparc/sparc64/fpu/multiarch/s_floor.c: Likewise.
- sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c: Likewise.
- sysdeps/sparc/sparc64/fpu/multiarch/s_fma.c: Likewise.
- sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf.c: Likewise.
- sysdeps/sparc/sparc64/fpu/multiarch/s_trunc.c: Likewise.
- sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.c: Likewise.
- sysdeps/sparc/sparc-ifunc.h [!HAVE_AS_VIS3_SUPPORT] (SPARC_ASM_VIS3_IFUNC, SPARC_ASM_VIS3_VIS2_IFUNC): Remove macros.
- sysdeps/sparc/sparc32/sparcv9/Makefile [$(have-as-vis3) != yes] (ASFLAGS.o, ASFLAGS-.os, ASFLAGS-.op, ASFLAGS-.oS): Remove rules.
- sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile ($(have-as-vis3) == yes): Remove conditional.
- sysdeps/sparc/sparc64/Makefile (($(have-as-vis3) == yes)): Likewise.
- sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-generic.c: New file.
- sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf-generic.c: New file.
- sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma-generic.c: New file.
- sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf-generic.c: New file.
- sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-generic.c: New file.
- sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-generic.c: New file.
- sysdeps/sparc/sparc64/fpu/multiarch/s_floor-generic.c: New file.
- sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-generic.c: New file.
- sysdeps/sparc/sparc64/fpu/multiarch/s_fma-generic.c: New file.
- sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf-generic.c: New file.
- sysdeps/sparc/sparc64/fpu/multiarch/s_trunc-generic.c: New file.
- sysdeps/sparc/sparc64/fpu/multiarch/s_truncf-generic.c: New file.

a55430cb0e sparc: Assume VIS3 support
ChangeLog | 41 +++++++++++++++++++++
config.h.in | 3 --
sysdeps/sparc/configure | 42 ----------------------
sysdeps/sparc/configure.ac | 29 ---------------
sysdeps/sparc/sparc-ifunc.h | 13 -------
sysdeps/sparc/sparc32/sparcv9/Makefile | 7 ----
.../sparc/sparc32/sparcv9/fpu/multiarch/Makefile | 8 ++---
.../sparc32/sparcv9/fpu/multiarch/s_fdim-generic.c | 4 +++
.../sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c | 17 +++------
.../sparcv9/fpu/multiarch/s_fdimf-generic.c | 3 ++
.../sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.c | 12 ++-----
.../sparc32/sparcv9/fpu/multiarch/s_fma-generic.c | 2 ++
.../sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c | 12 ++-----
.../sparc32/sparcv9/fpu/multiarch/s_fmaf-generic.c | 2 ++
.../sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf.c | 10 ++----
sysdeps/sparc/sparc64/Makefile | 2 --
sysdeps/sparc/sparc64/fpu/multiarch/Makefile | 10 +++---
.../sparc/sparc64/fpu/multiarch/s_ceil-generic.c | 2 ++
sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.c | 19 +++++-----
.../sparc/sparc64/fpu/multiarch/s_ceilf-generic.c | 2 ++
sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c | 19 +++++-----
.../sparc/sparc64/fpu/multiarch/s_floor-generic.c | 2 ++
sysdeps/sparc/sparc64/fpu/multiarch/s_floor.c | 19 +++++-----
.../sparc/sparc64/fpu/multiarch/s_floorf-generic.c | 2 ++
sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c | 19 +++++-----
.../sparc/sparc64/fpu/multiarch/s_fma-generic.c | 2 ++
sysdeps/sparc/sparc64/fpu/multiarch/s_fma.c | 19 +++++-----
.../sparc/sparc64/fpu/multiarch/s_fmaf-generic.c | 2 ++
sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf.c | 19 +++++-----
.../sparc/sparc64/fpu/multiarch/s_trunc-generic.c | 2 ++
sysdeps/sparc/sparc64/fpu/multiarch/s_trunc.c | 19 +++++-----
.../sparc/sparc64/fpu/multiarch/s_truncf-generic.c | 2 ++
sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.c | 19 +++++-----
33 files changed, 153 insertions(+), 232 deletions(-)

Upstream: sourceware.org


  • Share