Optimize sparc {ceil,floor}{,f} using vis2 'siam' instruction.
commit8b954ab9b808a51d8cf6a90c7d1d46a3366e3274
authorDavid S. Miller <davem@davemloft.net>
Tue, 15 Jan 2013 05:47:29 +0000 (14 21:47 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 15 Jan 2013 05:47:29 +0000 (14 21:47 -0800)
treecbf6dba7b97106b9ce476078cda8e8f0a1e7bf7c
parent65a82e3dd538aabcdbeacf87fcee32f4e355e5b6
Optimize sparc {ceil,floor}{,f} using vis2 'siam' instruction.

* sysdeps/sparc/sparc-ifunc.h (SPARC_ASM_IFUNC2): New macro.
(SPARC_ASM_VIS2_IFUNC): Likewise.
(SPARC_ASM_VIS3_VIS2_IFUNC): Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil-vis3.S: Make
use of 'siam' instruction.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf-vis3.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis3.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf-vis3.S:
Likewise.
* sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis3.S: Likewise.
* sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis3.S: Likewise.
* sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis3.S: Likewise.
* sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-vis3.S: Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil-vis2.S: New
file.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf-vis2.S: New
file.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis2.S: New
file.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf-vis2.S: New
file.
* sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis2.S: New file.
* sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis2.S: New file.
* sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis2.S: New file.
* sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-vis2.S: New file.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil.S: Hook in
new VIS2 routines.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf.S: Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor.S: Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf.S:
Likewise.
* sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.S: Likewise.
* sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.S: Likewise.
* sysdeps/sparc/sparc64/fpu/multiarch/s_floor.S: Likewise.
* sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.S: Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile: Add new VIS2
routines to libm-sysdep_routines.
* sysdeps/sparc/sparc64/fpu/multiarch/Makefile: Likewise.
28 files changed:
ChangeLog
sysdeps/sparc/sparc-ifunc.h
sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile
sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil-vis2.S [copied from sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil-vis3.S with 53% similarity]
sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil-vis3.S
sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil.S
sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf-vis2.S [copied from sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf-vis3.S with 52% similarity]
sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf-vis3.S
sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf.S
sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis2.S [copied from sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil-vis3.S with 53% similarity]
sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis3.S
sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor.S
sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf-vis2.S [copied from sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf-vis3.S with 52% similarity]
sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf-vis3.S
sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf.S
sysdeps/sparc/sparc64/fpu/multiarch/Makefile
sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis2.S [copied from sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis3.S with 58% similarity]
sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis3.S
sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.S
sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis2.S [copied from sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis3.S with 58% similarity]
sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis3.S
sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.S
sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis2.S [copied from sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis3.S with 58% similarity]
sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis3.S
sysdeps/sparc/sparc64/fpu/multiarch/s_floor.S
sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-vis2.S [copied from sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis3.S with 58% similarity]
sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-vis3.S
sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.S