about summary refs log tree commit diff
path: root/sysdeps/sparc
Commit message (Collapse)AuthorAgeFilesLines
* Update sparc ulps after Joseph's math.h fixes.David S. Miller2012-05-311-9/+0
| | | | | * sysdeps/sparc/fpu/libm-test-ulps: Remove sqrt(2) and sqrt test entries.
* Avoid performance penalty in sparc optimized memcpy/memset.David S. Miller2012-05-313-47/+47
| | | | | | | | | | fmovd clears the current exception field in the %fsr, fsrc2 does not and therefore runs more efficiently on some cpus. * sysdeps/sparc/sparc64/memcpy.S: Use fsrc2 to move 64-bit values between float registers. * sysdeps/sparc/sparc64/memset.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S: Likewise.
* Simulate sparc fpu exceptions using real FP ops again in soft-fp.David S. Miller2012-05-302-30/+68
| | | | | | | | * sysdeps/sparc/sparc32/soft-fp/q_util.c (___Q_simulate_exceptions): Use real FP ops rather than writing into the %fsr. * sysdeps/sparc/sparc32/soft-fp/q_util.c (__Qp_handle_exceptions): Likewise.
* Fix underflow generation in soft-fp.David S. Miller2012-05-302-2/+4
| | | | | | | | | | | | | * soft-fp/soft-fp.h (FP_CUR_EXCEPTIONS): Define. (FP_TRAPPING_EXCEPTIONS): Provide default implementation. * sysdeps/sparc/sparc32/soft-fp/sfp-machine.h (FP_TRAPPING_EXCEPTIONS): Define. * sysdeps/sparc/sparc64/soft-fp/sfp-machine.h (FP_TRAPPING_EXCEPTIONS): Define. * soft-fp/op-common.h (_FP_PACK_SEMIRAW): Signal underflow for subnormals only when inexact has been signalled or underflow exceptions are enabled. (_FP_PACK_CANONICAL): Likewise.
* Fix underflow reporting and tie up loose ends in sparc soft-fp.David S. Miller2012-05-275-79/+53
| | | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/sparc/sparc32/soft-fp/q_util.c (___Q_numbers): Delete. (___Q_zero): New. (__Q_simulate_exceptions): Return void. Change to simulate exceptions by writing into the %fsr. * sysdeps/sparc/sparc64/soft-fp/qp_util.c (__Qp_handle_exceptions): Likewise. (numbers): Delete. * sysdeps/sparc/sparc64/soft-fp/Versions: Remove entry for __Qp_handle_exceptions. * sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libc.abilist: Remove __Qp_handle_exceptions. * sysdeps/sparc/sparc32/soft-fp/sfp-machine.h (_FP_DECL_EX): Mark as unused and give dummy FP_RND_NEAREST initializer. (FP_INHIBIT_RESULTS): Define. (___Q_simulate_exceptions): Update declaration. (FP_HANDLE_EXCEPTIONS): Use ___Q_zero and tidy inline asm formatting. * sysdeps/sparc/sparc64/soft-fp/sfp-machine.h (_FP_DECL_EX): Mark as unused and give dummy FP_RND_NEAREST initializer. (__Qp_handle_exceptions): Update declaration. (FP_HANDLE_EXCEPTIONS, QP_NO_EXCEPTIONS): Tidy inline asm formatting.
* Don't include exceptions in libm-test-ulps test names.Joseph Myers2012-05-241-10/+10
|
* Rename __WORDSIZE_COMPAT32 to __WORDSIZE_TIME64_COMPAT32H.J. Lu2012-05-212-2/+2
|
* Add <sys/auxv.h> and getauxval.Richard Henderson2012-05-202-27/+49
|
* Update sparc ULPs for ccos, csin, ccosh, csinh tests.David S. Miller2012-05-191-0/+290
|
* Split up stackguard-macros.h into sysdeps directories.Joseph Myers2012-05-152-0/+8
|
* Mark sparc %fsr load and store inline asms as volatile.David S. Miller2012-05-112-6/+6
| | | | | | * sysdeps/sparc/fpu/bits/fenv.h (__fenv_stfsr): Add __volatile__. * sysdeps/sparc/fpu/fpu_control.h (_FPU_GETCW): Likewise. (_FPU_SETCW): Likewise.
* 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.
* With -frounding-math, some sparc ULPs need to be adjusted.David S. Miller2012-05-081-0/+33
| | | | * sysdeps/sparc/fpu/libm-test-ulps: Update.
* Update sparc ULPs for recently added exp tests.David S. Miller2012-05-071-0/+17
| | | | * sysdeps/sparc/fpu/libm-test-ulps: Update.
* Fix sparc libm when all of glibc is built with -frounding-math.David S. Miller2012-05-071-6/+19
| | | | | | | [BZ #14074] * sysdeps/sparc/sysdep.h (SPARC_PIC_THUNK_CALL): New macro. (SETUP_PIC_REG): Use it. (SETUP_PIC_REG_LEAF): Use it.
* Update sparc ULPs for recently added acos/asin tests.David S. Miller2012-05-021-0/+100
| | | | * sysdeps/sparc/fpu/libm-test-ulps: Update.
* 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.
* Restore non-v9 32-bit sparc build.David S. Miller2012-04-251-1/+33
| | | | | | | | * sysdeps/sparc/sparc32/bits/atomic.h: Include sysdep.h to get HWCAP_* values only after the memory barriers have been defined. (atomic_full_barrier): Define. (atomic_read_barrier): Define. (atomic_write_barrier): Define.
* Delete everything under sysdeps/unix/sparc/David S. Miller2012-04-251-0/+50
| | | | | | | | | | | | | | | | | | * sysdeps/unix/sparc/brk.S: Delete. * sysdeps/unix/sparc/dl-brk.S: Delete. * sysdeps/unix/sparc/pipe.S: Delete. * sysdeps/unix/sparc/sysdep.S: Delete. * sysdeps/unix/sparc/sysdep.h: Delete. * sysdeps/unix/sparc/vfork.S: Delete. * sysdeps/sparc/sysdep.h (SPARC_PIC_THUNK, SPARC_PIC_REG, SPARC_PIC_REG_LEAF, ENTRY, END, LOC): Define. * sysdeps/unix/sysv/linux/sparc/sysdep.h (ret, ret_NOERRNO, ret_ERRVAL, r0, r1, MOVE): Define. (JUMPTARGET): Remove. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Don't include sysdeps/unix/sparc/sysdep.h (ENTRY, END): Remove. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise.
* Forgot to delete the sparc64 memcopy.h which tries to include the sparc32 oneDavid S. Miller2012-04-181-1/+0
| | | | * sysdeps/sparc/sparc64/memcopy.h: Delete.
* Finish ilogb changesAndreas Jaeger2012-04-181-4/+2
| | | | | | | | | | | | | | | | | | [BZ# 6794] * sysdeps/ieee754/ldbl-96/s_ilogbl.c: Moved to ... * sysdeps/ieee754/ldbl-96/e_ilogbl.c: ... here. Rename __ilogbl to __ieee754_ilogbl and remove weak_alias. * sysdeps/ieee754/ldbl-128/s_ilogbl.c: Moved to ... * sysdeps/ieee754/ldbl-128/e_ilogbl.c: ... here. Rename __ilogbl to __ieee754_ilogbl and remove weak_alias. * sysdeps/ieee754/ldbl-64-128/s_ilogbl.c: Moved to ... * sysdeps/ieee754/ldbl-64-128/e_ilogbl.c: ... here. * sysdeps/sparc/sparc64/soft-fp/s_ilogbl.c: Moved to ... * sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c: ... here. Rename __ilogbl to __ieee754_ilogbl and remove weak_alias.
* There is no legitimate reason to override reg_char on sparc32.David S. Miller2012-04-171-20/+0
| | | | * sysdeps/sparc/sparc32/memcopy.h: Delete.
* Update sparc libm ULPs.David S. Miller2012-04-111-10/+124
| | | | * sysdeps/sparc/fpu/libm-test-ulps: Update.
* 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.