about summary refs log tree commit diff
path: root/sysdeps/sparc/sparc32/sparcv9/fpu
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright dates with scripts/update-copyrights.Joseph Myers2016-01-0454-54/+54
|
* Update copyright dates with scripts/update-copyrights.Joseph Myers2015-01-0254-54/+54
|
* Remove IS_IN_libmSiddhesh Poyarekar2014-11-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace with IS_IN (libm). Generated code unchanged on x86_64. * include/math.h: Use IS_IN instead of IS_IN_libm. * sysdeps/alpha/fpu/s_copysign.c: Likewise. * sysdeps/ieee754/ldbl-128ibm/s_copysignl.c: Likewise. * sysdeps/ieee754/ldbl-128ibm/s_finitel.c: Likewise. * sysdeps/ieee754/ldbl-128ibm/s_fmal.c: Likewise. * sysdeps/ieee754/ldbl-128ibm/s_frexpl.c: Likewise. * sysdeps/ieee754/ldbl-128ibm/s_isinfl.c: Likewise. * sysdeps/ieee754/ldbl-128ibm/s_isnanl.c: Likewise. * sysdeps/ieee754/ldbl-128ibm/s_modfl.c: Likewise. * sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c: Likewise. * sysdeps/ieee754/ldbl-128ibm/s_signbitl.c: Likewise. * sysdeps/ieee754/ldbl-64-128/s_copysignl.c: Likewise. * sysdeps/ieee754/ldbl-64-128/s_finitel.c: Likewise. * sysdeps/ieee754/ldbl-64-128/s_frexpl.c: Likewise. * sysdeps/ieee754/ldbl-64-128/s_isinfl.c: Likewise. * sysdeps/ieee754/ldbl-64-128/s_isnanl.c: Likewise. * sysdeps/ieee754/ldbl-64-128/s_modfl.c: Likewise. * sysdeps/ieee754/ldbl-64-128/s_scalbnl.c: Likewise. * sysdeps/ieee754/ldbl-64-128/s_signbitl.c: Likewise. * sysdeps/ieee754/ldbl-64-128/w_scalblnl.c: Likewise. * sysdeps/ieee754/ldbl-opt/s_copysign.c: Likewise. * sysdeps/ieee754/ldbl-opt/s_finite.c: Likewise. * sysdeps/ieee754/ldbl-opt/s_frexp.c: Likewise. * sysdeps/ieee754/ldbl-opt/s_isinf.c: Likewise. * sysdeps/ieee754/ldbl-opt/s_isnan.c: Likewise. * sysdeps/ieee754/ldbl-opt/s_ldexp.c: Likewise. * sysdeps/ieee754/ldbl-opt/s_ldexpl.c: Likewise. * sysdeps/ieee754/ldbl-opt/s_modf.c: Likewise. * sysdeps/ieee754/ldbl-opt/s_scalbln.c: Likewise. * sysdeps/ieee754/ldbl-opt/s_scalbn.c: Likewise. * sysdeps/powerpc/power5+/fpu/s_modf.c: Likewise. * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/s_copysignl.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/s_isnan.S: Likewise. * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c: Likewise. * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finite.c: Likewise. * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinf.c: Likewise. * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan.c: Likewise. * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf.c: Likewise. * sysdeps/powerpc/powerpc32/power5/fpu/s_isnan.S: Likewise. * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: Likewise. * sysdeps/powerpc/powerpc32/power6/fpu/s_isnan.S: Likewise. * sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S: Likewise. * sysdeps/powerpc/powerpc32/power7/fpu/s_isinf.S: Likewise. * sysdeps/powerpc/powerpc32/power7/fpu/s_isnan.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c: Likewise. * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite.c: Likewise. * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf.c: Likewise. * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan.c: Likewise. * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf.c: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_copysignl.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_isnan.S: Likewise. * sysdeps/powerpc/powerpc64/power5/fpu/s_isnan.S: Likewise. * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: Likewise. * sysdeps/powerpc/powerpc64/power6/fpu/s_isnan.S: Likewise. * sysdeps/powerpc/powerpc64/power6x/fpu/s_isnan.S: Likewise. * sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S: Likewise. * sysdeps/powerpc/powerpc64/power7/fpu/s_isinf.S: Likewise. * sysdeps/powerpc/powerpc64/power7/fpu/s_isnan.S: Likewise. * sysdeps/powerpc/powerpc64/power8/fpu/s_finite.S: Likewise. * sysdeps/powerpc/powerpc64/power8/fpu/s_isinf.S: Likewise. * sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S: Likewise. * sysdeps/sparc/sparc32/fpu/s_signbitl.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_isnan.S: Likewise. * sysdeps/unix/sysv/linux/alpha/fraiseexcpt.S: Likewise.
* Update copyright notices with scripts/update-copyrightsAllan McRae2014-01-0154-54/+54
|
* Optimize trunc{,f} on sparc.David S. Miller2013-01-167-1/+263
| | | | | | | | | | | | | | | | | | | | | * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile: Add vis3 trunc{,f} to libm-sysdep_routes. * sysdeps/sparc/sparc64/fpu/multiarch/Makefile: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_trunc-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_trunc.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_truncf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_truncf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_trunc.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_truncf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_trunc-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_trunc.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_truncf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.S: New file. * sysdeps/sparc/sparc64/fpu/s_trunc.S: New file. * sysdeps/sparc/sparc64/fpu/s_truncf.S: New file.
* Optimize nearbyint{,f} on sparc.David S. Miller2013-01-157-1/+295
| | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile: Add vis3 nearbyint{,f} to libm-sysdep_routes. * sysdeps/sparc/sparc64/fpu/multiarch/Makefile: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyint.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyintf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf.S: New file. * sysdeps/sparc/sparc64/fpu/s_nearbyint.S: New file. * sysdeps/sparc/sparc64/fpu/s_nearbyintf.S: New file.
* Optimize sparc {ceil,floor}{,f} using vis2 'siam' instruction.David S. Miller2013-01-1413-112/+290
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Optimize fdim/fdimf on sparc.David S. Miller2013-01-147-1/+173
| | | | | | | | | | | | | | | | | * 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 file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_fdim.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_fdimf.S: New file. * sysdeps/sparc/sparc32/fpu/s_fdim.S: New file. * sysdeps/sparc/sparc32/fpu/s_fdimf.S: New file. * sysdeps/sparc/sparc64/fpu/s_fdim.S: New file. * sysdeps/sparc/sparc64/fpu/s_fdimf.S: New file.
* Adjust sparc for Roland's multiarch sysdep directory changes.David S. Miller2013-01-111-4/+0
| | | | | | | * sysdeps/sparc/sparc32/sparcv9/fpu/unix/sysv/linux/multiarch/Implies: Move to... * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/fpu/multiarch/Implies: Here.
* Update copyright notices with scripts/update-copyrights.Joseph Myers2013-01-0238-38/+38
|
* Minor optimization to sparc VIS3 floor() implementation.David S. Miller2012-05-081-2/+1
| | | | | * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis3.S: Use movxtod instead of popping the value on the stack.
* Fix missing long-double compat symbols on sparc v9.David S. Miller2012-04-2614-0/+85
| | | | | | | | | | | | | | | | | | * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil.S: Generate long-double compat symbols. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_ceil.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_floor.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_fmax.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_fmin.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_isnan.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_lrint.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S: Likewise.
* Add sparc vis3 optimized fma/fmaf.David S. Miller2012-03-155-1/+89
| | | | | | | | | | | | | | * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf.c: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fma-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fma.c: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf.c: New file. * sysdeps/sparc/sparc64/fpu/multiarch/Makefile: Add fma/fmaf sysdep routines. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile: Likewise.
* Create a header for sparc ifunc expansion and use it for VIS3 ifuncs.David S. Miller2012-03-1518-666/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/sparc/sparc-ifunc.h: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil.S: Use sparc-ifunc.h * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf.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_finite.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_finitef.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_floor.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmax.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaxf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmin.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_fminf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_isinf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_isinff.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_isnan.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.S: Likewise.
* Sparc optimized fmin{,f} and fmax{,f}.David S. Miller2012-03-1513-1/+462
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/sparc/sparc64/fpu/s_fmax.S: New file. * sysdeps/sparc/sparc64/fpu/s_fmaxf.S: New file. * sysdeps/sparc/sparc64/fpu/s_fmin.S: New file. * sysdeps/sparc/sparc64/fpu/s_fminf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_fmax.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_fmaxf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_fmin.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_fminf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmax.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaxf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaxf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmin-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmin.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fminf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fminf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/Makefile: Add new vis3 fmin/fmax sysdep routines. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile: Likewise.
* Add more sparc VIS3 optimized math routines.David S. Miller2012-03-1526-5/+1242
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_finite-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_finite.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_finitef-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_finitef.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_floor.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_isinf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_isinf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_isinff-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_isinff.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_isnan-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_isnan.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_rint-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/Makefile: Add new VIS3 routines. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile: Add new VIS3 routines. * sysdeps/sparc/sparc32/sparcv9/fpu/unix/sysv/linux/multiarch/Implies: New file.
* Add framework for using sparc VIS3 instructions, use it for copysign/signbit.David S. Miller2012-03-145-0/+160
| | | | | | | | | | | | | | | | | | | | | | * sysdeps/sparc/configure.in: New file. * sysdeps/sparc/configure: Generate. * configure.in (libc_cv_sparc_as_vis3): Substitute. * configure: Regenerate. * config.h.in (HAVE_AS_VIS3_SUPPORT): New. * config.make.in (have-as-vis3): New. * sysdeps/sparc/sparc32/sparcv9/Makefile (ASFLAGS-*): If VIS3 is available use -Av9d instead of -Av9a. * sysdeps/sparc/sparc64/Makefile: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/Makefile: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.S: New file.
* Add sparc optimized {l,}rint{,f} for 32-bit v9 and 64-bit.David S. Miller2012-03-024-0/+258
| | | | | | | | | | | * sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_llrintf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_lrint.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_lrintf.S: New file. * sysdeps/sparc/sparc64/fpu/s_llrint.S: New file. * sysdeps/sparc/sparc64/fpu/s_llrintf.S: New file. * sysdeps/sparc/sparc64/fpu/s_lrint.S: New file. * sysdeps/sparc/sparc64/fpu/s_lrintf.S: New file.
* Optimized sparc assembler for signbit{,f,l} and some variants of isnan.David S. Miller2012-03-011-0/+32
| | | | | | | | | | | | * sysdeps/sparc/sparc32/fpu/s_signbit.S: New file. * sysdeps/sparc/sparc32/fpu/s_signbitf.S: New file. * sysdeps/sparc/sparc32/fpu/s_signbitl.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_isnan.S: New file. * sysdeps/sparc/sparc64/fpu/s_isnan.S: New file. * sysdeps/sparc/sparc64/fpu/s_isnanf.S: New file. * sysdeps/sparc/sparc64/fpu/s_signbit.S: New file. * sysdeps/sparc/sparc64/fpu/s_signbitf.S: New file. * sysdeps/sparc/sparc64/fpu/s_signbitl.S: New file.
* Remove sparc binutils GOTDATA checks in lieu of new minimum version requirement.David S. Miller2012-03-012-12/+0
| | | | | | | | | | | | | | | | | | | | | | * sysdeps/sparc/crti.S: Remove HAVE_BINUTILS_GOTDATA checks. * sysdeps/sparc/sparc32/dl-machine.h: Likewise. * sysdeps/sparc/sparc32/elf/start.S: Likewise. * sysdeps/sparc/sparc32/fpu/w_sqrt.S: Likewise. * sysdeps/sparc/sparc32/fpu/w_sqrtf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf.S: Likewise. * sysdeps/sparc/sparc64/dl-machine.h: Likewise. * sysdeps/sparc/sparc64/elf/start.S: Likewise. * sysdeps/sparc/sparc64/fpu/w_sqrt.S: Likewise. * sysdeps/sparc/sparc64/fpu/w_sqrtf.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/____longjmp_chk.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * config.h.in (HAVE_BINUTILS_GOTDATA): Delete. * sysdeps/sparc/elf/configure.in: Remove binutils GOTDATA checks. * sysdeps/sparc/elf/configure: Regenerated.
* Add sparc optimized sqrt{,f}.David S. Miller2012-02-282-0/+113
| | | | | | | | | * sysdeps/sparc/sparc32/fpu/w_sqrt.S: New file. * sysdeps/sparc/sparc32/fpu/w_sqrtf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf.S: New file. * sysdeps/sparc/sparc64/fpu/w_sqrt.S: New file. * sysdeps/sparc/sparc64/fpu/w_sqrtf.S: New file.
* Optimized sparc floor{,f} routines.David S. Miller2012-02-272-0/+170
| | | | | | | * sysdeps/sparc/sparc32/sparcv9/fpu/s_floor.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_floorf.S: New file. * sysdeps/sparc/sparc64/fpu/s_floor.S: New file. * sysdeps/sparc/sparc64/fpu/s_floorf.S: New file.
* Fix %fp/%sp typo in new sparc ceil{,f} assembler.David S. Miller2012-02-272-4/+4
| | | | | | | | * sysdeps/sparc/sparc32/sparcv9/fpu/s_ceil.S: Fix accidental use of frame pointer instead of stack pointer relative arg slot. * sysdeps/sparc/sparc32/sparcv9/fpu/s_ceilf.S: Likewise. * sysdeps/sparc/sparc64/fpu/s_ceil.S: Likewise. * sysdeps/sparc/sparc64/fpu/s_ceilf.S: Likewise.
* Fix comment formatting in new optimized sparc math files.David S. Miller2012-02-274-60/+56
|
* Optimized sparc ceil{,f} and rint{,f} routines.David S. Miller2012-02-274-0/+297
| | | | | | | | | | | * sysdeps/sparc/sparc32/sparcv9/fpu/s_ceil.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_ceilf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_rintf.S: New file. * sysdeps/sparc/sparc64/fpu/s_ceil.S: New file. * sysdeps/sparc/sparc64/fpu/s_ceilf.S: New file. * sysdeps/sparc/sparc64/fpu/s_rint.S: New file. * sysdeps/sparc/sparc64/fpu/s_rintf.S: New file.
* Replace FSF snail mail address with URLs.Paul Eggert2012-02-091-3/+2
|
* Fixes and optimizations for 32-bit sparc fabs*().David S. Miller2011-09-051-0/+29