about summary refs log tree commit diff
path: root/sysdeps/sparc
Commit message (Collapse)AuthorAgeFilesLines
* Handle some new sparc relocation types.David S. Miller2012-04-072-0/+18
| | | | | | | | * elf/elf.h (R_SPARC_WDISP10): Define. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Handle R_SPARC_SIZE32. * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Handle R_SPARC_SIZE64 and R_SPARC_H34.
* Reduce down to one definition of _ELF_DYNAMIC_DO_RELOC.David S. Miller2012-04-052-6/+0
| | | | | | | | | | | | | * elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Reduce down to one definition. * sysdeps/powerpc/powerpc32/dl-machine.h (ELF_MACHINE_PLTREL_OVERLAP): Delete. * sysdeps/s390/s390-32/dl-machine.h (ELF_MACHINE_PLTREL_OVERLAP): Likewise. * sysdeps/sparc/sparc32/dl-machine.h (ELF_MACHINE_PLTREL_OVERLAP): Likewise. * sysdeps/sparc/sparc64/dl-machine.h (ELF_MACHINE_PLTREL_OVERLAP): Likewise.
* Optimize mempcpy on sparc.David S. Miller2012-03-288-13/+112
| | | | | | | | | | | | | | * sysdeps/sparc/sparc32/memcpy.S: Implement mempcpy using a stub that branches into memcpy. * sysdeps/sparc/sparc64/memcpy.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memcpy.S: Add mempcpy multiarch bits. * sysdeps/sparc/sparc64/rtld-memcpy.c: Include generic mempcpy implementation too. * sysdeps/sparc/mempcpy.S: New file.
* Do not elide the libc hidden def of sparc's memset/memcpy when multiarching.David S. Miller2012-03-282-10/+10
| | | | | | * sysdeps/sparc/sparc64/multiarch/memcpy.S: Provide a hidden def to the IFUNC routine in the libc case. * sysdeps/sparc/sparc64/multiarch/memcpy.S: Likewise.
* Use generic memset/memcpy in rtld on sparcv9/sparc64.David S. Miller2012-03-288-0/+8
| | | | | | | | | | | * sysdeps/sparc/sparc32/sparcv9/multiarch/rtld-memset.c: New file. * sysdeps/sparc/sparc32/sparcv9/multiarch/rtld-memcpy.c: New file. * sysdeps/sparc/sparc32/sparcv9/rtld-memset.c: New file. * sysdeps/sparc/sparc32/sparcv9/rtld-memcpy.c: New file. * sysdeps/sparc/sparc64/multiarch/rtld-memset.c: New file. * sysdeps/sparc/sparc64/multiarch/rtld-memcpy.c: New file. * sysdeps/sparc/sparc64/rtld-memset.c: New file. * sysdeps/sparc/sparc64/rtld-memcpy.c: New file.
* Fix bugs and improve performance of niagara memset/bzero.David S. Miller2012-03-281-4/+50
| | | | | * sysdeps/sparc/sparc64/multiarch/memset-niagara1.S: Unroll main loop to 256 bytes instead of 64 bytes and fix test signedness.
* Make sparc's -fPIC addition to ASFLAGS-.os more robust.David S. Miller2012-03-283-6/+3
| | | | | | * sysdeps/sparc/Makefile: Add -fPIC to ASFLAGS-.os here.... * sysdeps/sparc/sparc32/Makefile: rather than here... * sysdeps/sparc/sparc64/Makefile: and here.
* Regenerate configure filesAndreas Jaeger2012-03-281-0/+93
|
* Fix sparc64/elf mergeDavid S. Miller2012-03-281-3/+3
| | | | | * sysdeps/sparc/sparc64/Makefile (ASFLAGS-.os): Move before have-as-vis3 check.
* Move sysdeps/sparc/{,sparc32,sparc64}/elf filesAndreas Jaeger2012-03-289-261/+80
| | | | | | | | | | | | | | * sysdeps/sparc/elf/configure.in: Moved to ... * sysdeps/sparc/configure.in: ... here. * sysdeps/sparc/elf/configure: Delete file. * sysdeps/sparc/sparc32/elf/start.S: Moved to ... * sysdeps/sparc/sparc32/start.S: ... here. * sysdeps/sparc/sparc64/elf/start.S: Moved to ... * sysdeps/sparc/sparc64/start.S: ... here. * sysdeps/sparc/sparc32/elf/Makefile: Merged into ... * sysdeps/sparc/sparc32/Makefile: ... this. * sysdeps/sparc/sparc64/elf/Makefile: Merged into ... * sysdeps/sparc/sparc64/Makefile: ... this.
* Update sparc ULPs for recently added tests and bug fixes.David S. Miller2012-03-231-67/+59
| | | | * sysdeps/sparc/fpu/libm-test-ulps: Update.
* Update sparc ULPs for recently added tests.David S. Miller2012-03-211-0/+26
| | | | * sysdeps/sparc/fpu/libm-test-ulps: Update.
* Move stdio-common/_itoa.h to sysdeps/genericH.J. Lu2012-03-202-2/+2
|
* Update sparc ULPs for newly added tests.David S. Miller2012-03-191-0/+49
| | | | * sysdeps/sparc/fpu/libm-test-ulps: Update.
* Fix sparc build after math_private.h cleanups.David S. Miller2012-03-192-62/+107
| | | | | | | | | | | | | * sysdeps/sparc/fpu/fenv_private.h: New file. * sysdeps/sparc/fpu/math_private.h: Use it. (libc_feholdexcept, libc_feholdexceptf, libc_feholdexceptl): Remove. (libc_feholdexcept_setround, libc_feholdexcept_setroundf, (libc_feholdexcept_setroundl): Remove. (libc_fetestexcept, libc_fetestexceptf, libc_fetestexceptl): Remove. (libc_fesetenv, libc_fesetenvf, libc_fesetenvl): Remove. (libc_feupdateenv, libc_feupdateenvf, libc_feupdateenvf): Remove.
* Update sparc ULPs.David S. Miller2012-03-161-89/+71
| | | | * sysdeps/sparc/fpu/libm-test/ulps: Update.
* Implement optimized libc_fe*() math routines on sparc.David S. Miller2012-03-161-0/+68
| | | | * sysdeps/sparc/fpu/math_private.h: New file.
* Add sparc vis3 optimized fma/fmaf.David S. Miller2012-03-1510-2/+169
| | | | | | | | | | | | | | * 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.
* Sparc long double is emulated in software, therefore use dbl-64's s_fma.cDavid S. Miller2012-03-152-0/+4
| | | | | * sysdeps/sparc/sparc32/fpu/s_fma.c: New file. * sysdeps/sparc/sparc64/fpu/s_fma.c: New file.
* Create a header for sparc ifunc expansion and use it for VIS3 ifuncs.David S. Miller2012-03-1539-1406/+226
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-1526-2/+898
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-1555-11/+2598
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Update sparc ULPs for newly added csqrt tests.David S. Miller2012-03-141-0/+34
| | | | * sysdeps/sparc/fpu/libm-test-ulps: Update.
* Add framework for using sparc VIS3 instructions, use it for copysign/signbit.David S. Miller2012-03-1414-0/+494
| | | | | | | | | | | | | | | | | | | | | | * 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.
* Small optimization to sparc 64-bit copysign.David S. Miller2012-03-142-6/+4
| | | | | | * sysdeps/sparc/sparc64/fpu/s_copysign.S (__copysign): Use fzeros/fnegs to load 0x80000000 into a float register instead of using the stack. * sysdeps/sparc/sparc64/fpu/s_copysignf.S (__copysignf): Likewise.
* Remove no longer needed assembler offset generation on sparc.David S. Miller2012-03-134-11/+0
| | | | | | | | * sysdeps/sparc/Makefile: Remove rtld-global-offsets.sym handling. * sysdeps/sparc/elf/rtld-global-offsets.sym: Delete. * sysdeps/sparc/sparc64/multiarch/memcpy.S: Don't include rtld-global-offsets.h * sysdeps/sparc/sparc64/multiarch/memset.S: Likewise.
* Update sparc ULPs for recently added tests.David S. Miller2012-03-111-3/+464
| | | | * sysdeps/sparc/fpu/libm-test-ulps: Update.
* Fix bugs in sparc PLT profiling register management, and add sparc sotruss ↵David S. Miller2012-03-093-50/+57
| | | | | | | | | | | | | | | | | | support. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Protect local variables with appropriate CPP guards. * sysdeps/sparc/sparc32/dl-trampoline.S: Propagate the stack_ptr from the frame pointer, not the stack pointer. Correct layout comments. Fix test on resulting framesize and the management of the outregs buffer for pltexit. Preserve floating point return values across _dl_call_pltexit call. * sysdeps/sparc/sparc64/dl-trampoline.S: Fix test on resulting framesize and the management of the outregs buffer for pltexit. Preserve floating point return values across _dl_call_pltexit call. * elf/sotruss-lib.c (la_sparc32_gnu_pltenter, la_sparc64_gnu_pltenter, la_sparc32_gnu_pltexit, la_sparc64_gnu_pltexit): New functions. (print_exit): Fix format string for return register value.
* Update sparc ULPs due to recently added tests.David S. Miller2012-03-051-0/+87
| | | | * sysdeps/sparc/fpu/libm-test-ulps: Update.
* Add sparc optimized {l,}rint{,f} for 32-bit v9 and 64-bit.David S. Miller2012-03-028-0/+385
| | | | | | | | | | | * 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.
* Update sparc ULPs.David S. Miller2012-03-021-0/+412
| | | | * sysdeps/sparc/fpu/libm-test-ulps: Update for recently added tests.
* Optimized 64-bit sparc assembler for finite{,f} and isinf{,f}.David S. Miller2012-03-014-0/+129
| | | | | | | * sysdeps/sparc/sparc64/fpu/s_finite.S: New file. * sysdeps/sparc/sparc64/fpu/s_finitef.S: New file. * sysdeps/sparc/sparc64/fpu/s_isinf.S: New file. * sysdeps/sparc/sparc64/fpu/s_isinff.S: New file.
* Optimized sparc assembler for signbit{,f,l} and some variants of isnan.David S. Miller2012-03-019-0/+224
| | | | | | | | | | | | * 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.
* Update Sparc ulps for recently added tests.David S. Miller2012-03-011-0/+13
| | | | * sysdeps/sparc/fpu/libm-test-ulps: Update.
* Sparc doesn't need seperate 32-bit and 64-bit ulps files.David S. Miller2012-03-012-1376/+0
| | | | | | * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Move... * sysdeps/sparc/fpu/libm-test-ulps: to here. * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Delete.
* Remove sparc binutils GOTDATA checks in lieu of new minimum version requirement.David S. Miller2012-03-0113-152/+2
| | | | | | | | | | | | | | | | | | | | | | * 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-286-0/+337
| | | | | | | | | * 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.
* Add optimized copysign for sparc.David S. Miller2012-02-284-0/+124
| | | | | | | * sysdeps/sparc/sparc32/fpu/s_copysign.S: New file. * sysdeps/sparc/sparc32/fpu/s_copysignf.S: New file. * sysdeps/sparc/sparc64/fpu/s_copysign.S: New file. * sysdeps/sparc/sparc64/fpu/s_copysignf.S: New file.
* Optimized sparc floor{,f} routines.David S. Miller2012-02-274-0/+334
| | | | | | | * 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-274-8/+8
| | | | | | | | * 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-278-120/+112
|
* Optimized sparc ceil{,f} and rint{,f} routines.David S. Miller2012-02-278-0/+578
| | | | | | | | | | | * 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.
* Update long-double sparc math ULPs missed by previous changes.David S. Miller2012-02-212-4/+36
| | | | | * sysdeps/sparc/sparc32/fpu/libm-test-ulps: More jn test ULP updates. * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Likewise.
* Tweak sparc32 longjmp to not store a dummy frame pointer onto the stack.David S. Miller2012-02-201-6/+4
| | | | | | | * sysdeps/sparc/sparc32/__longjmp.S: Unwind in the 'thread' path using a normal save/restore sequence, rather than allocating a dummy stack frame just to store a frame pointer and restore. * sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S: Likewise.
* Use PI_STATIC_AND_HIDDEN on sparc if we universally use GOTDATA relocs.David S. Miller2012-02-202-0/+11
| | | | | * sysdeps/sparc/elf/configure.in (PI_STATIC_AND_HIDDEN): Define if both binutils and gcc support GOTDATA.
* Use sparc GOTDATA relocations whenever possible.David S. Miller2012-02-207-69/+92
| | | | | | | | | | | | | | | | | * sysdeps/sparc/crti.S: Try to use GOTDATA relocs. * sysdeps/sparc/sparc32/dl-machine.h (RTLD_START): Likewise. * sysdeps/sparc/sparc32/elf/start.S: Likewise. * sysdeps/sparc/sparc64/dl-machine.h (RTLD_START): Likewise. * sysdeps/sparc/sparc64/elf/start.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memcpy.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memset.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (SYSCALL_ERROR_HANDLER): 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 (SYSCALL_ERROR_HANDLER): Likewise.
* Add sparc configure checks for GOTDATA support.David S. Miller2012-02-202-0/+126
| | | | | | | | * config.h.in (HAVE_BINUTILS_GOTDATA): New. (HAVE_GCC_GOTDATA): New. * sysdeps/sparc/elf/configure.in: Test for GOTDATA relocation support in both binutils and gcc. * sysdeps/sparc/elf/configure: Regenerate.
* Consolidate Sparc ELF configure fragments to one spot.David S. Miller2012-02-204-197/+26
| | | | | | | | | * sysdeps/sparc/sparc32/elf/configure.in: Delete. * sysdeps/sparc/sparc32/elf/configure: Delete. * sysdeps/sparc/sparc64/elf/configure.in: Delete. * sysdeps/sparc/sparc64/elf/configure: Delete. * sysdeps/sparc/elf/configure.in: New file. * sysdeps/sparc/elf/configure: Generate.
* Remove sparc WDISP22 configure checks, no longer used.David S. Miller2012-02-204-94/+0
| | | | | | | | * sysdeps/sparc/sparc32/elf/configure.in: Delete WDISP22 check. * sysdeps/sparc/sparc32/elf/configure: Regenerate. * sysdeps/sparc/sparc64/elf/configure.in: Likewise. * sysdeps/sparc/sparc64/elf/configure: Regenerate. * config.h.in (BROKEN_SPARC_WDISP22): Remove.
* Resort ULPs files with gen-libm-test.pl -n in C locale.Joseph Myers2012-02-201-5/+5
|