sparc32 passes floating point values in the integer registers. VIS3 instructions gives access to the movwtos instruction to directly transfer a value from an integer register to a floating point register. Therefore it makes sense to provide a VIS3 version consisting in the generic version compiled with -mvis3.
Changelog:
- math/s_fdim.c: Avoid alias renamed.
- math/s_fdimf.c: Likewise.
- sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile [$(subdir) = math && $(have-as-vis3) = yes] (libm-sysdep_routines): Add s_fdimf-vis3, s_fdim-vis3. (CFLAGS-s_fdimf-vis3.c): New. Set to -Wa,-Av9d -mvis3. (CFLAGS-s_fdim-vis3.c): Likewise. sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.c: New file. sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c: Likewise.
bf79a33 sparc32/sparcv9: add a VIS3 version of fdim
ChangeLog | 12 ++++++++
math/s_fdim.c | 4 ++-
math/s_fdimf.c | 2 ++
.../sparc/sparc32/sparcv9/fpu/multiarch/Makefile | 5 ++-
.../sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.c | 23 ++++++++++++++
.../sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c | 32 ++++++++++++++++++++
.../sparc32/sparcv9/fpu/multiarch/s_fdimf-vis3.c | 23 ++++++++++++++
.../sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.c | 32 ++++++++++++++++++++
8 files changed, 131 insertions(+), 2 deletions(-)
Upstream: sourceware.org