From 8b954ab9b808a51d8cf6a90c7d1d46a3366e3274 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Mon, 14 Jan 2013 21:47:29 -0800 Subject: 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. --- ChangeLog | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 9fa68b8977..0f5a017351 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,46 @@ 2013-01-14 David S. Miller + * 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. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile: Add vis3 fdim/fdimf to libm-sysdep_routines. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.S: New -- cgit v1.2.3-70-g09d2