aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/powerpc32/fpu/s_rintf.S
AgeCommit message (Collapse)Author
2013-04-01PowerPC: remove branch prediction from rint implementationAdhemerval Zanella
The branch prediction hints is actually hurts performance in this case. The assembly implementation make two assumptions: 1. 'fabs (x) < 2^52' is unlikely and 2. 'x > 0.0' is unlike (if 1. is true). Since it a general floating point function, expected input is not bounded and then it is better to let the hardware handle the branches.
2013-01-02Update copyright notices with scripts/update-copyrights.Joseph Myers
2012-02-09Replace FSF snail mail address with URLs.Paul Eggert
2011-12-17Simplify code for accessing powerpc GOTWill Schmidt
2010-02-12Cleanup old obsolete PPC_REL16 checksLuis Machado
2006-01-07* elf/tst-tls8.c (do_test): Use $ORIGIN in module names.Ulrich Drepper
2006-01-03 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/generic/sysdep.h (cfi_same_value): Define macro. * sysdeps/powerpc/powerpc32/dl-trampoline.S (_dl_runtime_resolve, _dl_profile_resolve): Add CFI directives for stack and LR save. Save LR in LRSAVE of previous frame per ABI. * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Add CFI directives for LR save. * sysdeps/powerpc/powerpc32/lshift.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S (__makecontext, __novec_makecontext): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_ceil.S: Add CFI directive for LR save to register. * sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/s_floor.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/s_floorf.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/s_rint.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/s_rintf.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/s_round.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/s_roundf.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/s_trunc.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/s_truncf.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Add CFI directive for stack. * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Likewise. * sysdeps/powerpc/powerpc32/ppc-mcount.S: Add CFI directives for stack and LR save. * sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/s_lround.S: Likewise. Don't use negative stack addressing. * sysdeps/powerpc/powerpc64/dl-trampoline.S (_dl_runtime_resolve, _dl_profile_resolve): Add CFI directives for stack and LR save. * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Add CFI directives for stack. * sysdeps/powerpc/powerpc64/ppc-mcount.S (_mcount): Add CFI directives for stack and LR save. * sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S (__brk): Add CFI directives for stack. * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone): Add CFI directives for stack. * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S (__getcontext, __novec_getcontext): Add CFI directives for stack and LR save. * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S (__makecontext): Add CFI directives for stack and LR save. * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S (__setcontext, __novec_setcontext): Add CFI directives for stack and LR save. * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S (__swapcontext, __novec_swapcontext): Add CFI directives for stack and LR save.
2005-06-17* sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_runtime_setup):Ulrich Drepper
Handle prelinked libraries and binaries with new style PLT. 2005-06-07 Jakub Jelinek <jakub@redhat.com> * elf/elf.h (R_PPC_REL16, R_PPC_REL16_LO, R_PPC_REL16_HI, R_PPC_REL16_HA): Define. 2005-06-14 Alan Modra <amodra@bigpond.net.au> * config.h.in (HAVE_ASM_PPC_REL16): Add. * elf/elf.h (DT_PPC_GOT, DT_PPC_NUM): Define. * elf/tls-macros.h (PowerPC32): Include config.h. Add variants of TLS_IE, TLS_LD and TLS_GD for new PLT/GOT layout. * sysdeps/powerpc/powerpc32/configure.in: New file, * sysdeps/powerpc/powerpc32/dl-dtprocnum.h: New file. * sysdeps/powerpc/powerpc32/dl-machine.h (DT_PPC): Define. (ppc_got): New inline function. (elf_machine_dynamic): Use ppc_got. Add attribute const. (elf_machine_load_address): Add attribute const. Don't use int vars. Use bcl rather than bl to save trashing branch target stack. Use elf_machine_dynamic rather than duplicating code here. (elf_machine_runtime_setup): New inline function replacing define. Handle new PLT. (elf_machine_fixup_plt): Handle new PLT. (elf_machine_rela): Likewise. * sysdeps/powerpc/powerpc32/sysdep.h: Include config.h. (CALL_MCOUNT): Don't set up counter vars. * sysdeps/powerpc/powerpc32/ppc-mcount.S: Correct comment. * sysdeps/powerpc/powerpc32/elf/start.S (start_addressesp): Don't define when HAVE_ASM_PPC_REL16. (_start): Add HAVE_ASM_PPC_REL16 code. * sysdeps/powerpc/powerpc32/dl-start.S (_dl_start_user): Don't bl into the GOT when HAVE_ASM_PPC_REL16. * sysdeps/powerpc/powerpc32/memset.S (memset): Likewise. * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S (__longjmp): Ditto. * sysdeps/powerpc/powerpc32/fpu/s_ceil.S (__ceil): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_ceilf.S (__ceilf): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_floor.S (__floor): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_floorf.S (__floorf): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_lround.S (__lround): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_rint.S (__rint): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_rintf.S (__rintf): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_round.S (__round): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_roundf.S (__roundf): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_trunc.S (__trunc): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_truncf.S (__truncf): Likewise. * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S (__sigsetjmp): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S (__brk): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S (__getcontext): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S (__setcontext): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S (__swapcontext): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (stackblock): Comment. (__socket): Bomb if NARGS >= 7. Invoke CGOTSETUP and CGOTRESTORE. 2005-06-17 Ulrich Drepper <drepper@redhat.com> * sysdeps/posix/sigignore.c: Include <string.h> to tell the compiler to use __GI_memset. * sysdeps/posix/signal.c: Likewise. * sysdeps/posix/sigset.c: Likewise. * sysdeps/posix/sysv_signal.c: Likewise. * sysdeps/unix/sysv/linux/sleep.c: Likewise. * sysdeps/unix/sysv/linux/sysctl.c: Likewise. * sysdeps/unix/sysv/linux/system.c: Likewise.
2005-05-21* sysdeps/powerpc/powerpc32/fpu/s_ceil.S (TWO52.0): Delete.Ulrich Drepper
* sysdeps/powerpc/powerpc32/fpu/s_ceilf.S (TWO23.0): Delete. * sysdeps/powerpc/powerpc32/fpu/s_floor.S (TWO52.0): Delete. * sysdeps/powerpc/powerpc32/fpu/s_floorf.S (TWO23.0): Delete. * sysdeps/powerpc/powerpc32/fpu/s_lround.S: Comment typo. (NEGZERO.0, POINTFIVE.0): Delete. * sysdeps/powerpc/powerpc32/fpu/s_rint.S (TWO52.0): Delete. * sysdeps/powerpc/powerpc32/fpu/s_rintf.S (TWO23.0): Delete. * sysdeps/powerpc/powerpc32/fpu/s_round.S (__round): Code in .text. (TWO52.0, POINTFIVE.0): Delete. * sysdeps/powerpc/powerpc32/fpu/s_roundf.S (__roundf): Code in .text. (TWO23.0, POINTFIVE.0): Delete. * sysdeps/powerpc/powerpc32/fpu/s_trunc.S (__trunc): Code in .text. (TWO52.0): Delete. * sysdeps/powerpc/powerpc32/fpu/s_truncf.S (__truncf): Code in .text. (TWO23.0): Delete. * sysdeps/powerpc/powerpc32/memset.S (memset): Formatting.
2005-01-06Update.Ulrich Drepper
2004-12-22 Steven Munroe <sjmunroe@us.ibm.com> * math/libm-test.inc (rint_test_tonearest): New test. (rint_test_towardzero): New test. (rint_test_downward): New test. (rint_test_upward): New test. * sysdeps/powerpc/powerpc32/fpu/s_ceil.S: Fix -0.0 case. Remove redundant const values. * sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: Fix -0.0 case. Remove redundant const values. Use float const. * sysdeps/powerpc/powerpc32/fpu/s_floor.S: Fix -0.0 case. * sysdeps/powerpc/powerpc32/fpu/s_floorf.S: Fix -0.0 case. Use float const. * sysdeps/powerpc/powerpc32/fpu/s_rint.S: Fix -0.0 case. * sysdeps/powerpc/powerpc32/fpu/s_rintf.S: Fix -0.0 case. Use float const. * sysdeps/powerpc/powerpc32/fpu/s_round.S: Fix -0.0 case. Remove redundant const values. * sysdeps/powerpc/powerpc32/fpu/s_roundf.S: Fix -0.0 case. Remove redundant const values. Use float const. * sysdeps/powerpc/powerpc32/fpu/s_trunc.S: Fix -0.0 case. Remove redundant const values. * sysdeps/powerpc/powerpc32/fpu/s_truncf.S: Fix -0.0 case. Remove redundant const values. Use float const. * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: Use EALIGN for Quadword alignment. Fix -0.0 case. Remove redundant const values. * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: Use EALIGN for Quadword alignment. Fix -0.0 case. Remove redundant const values. Use float const. * sysdeps/powerpc/powerpc64/fpu/s_floor.S: Use EALIGN for Quadword alignment. Fix -0.0 case. * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: Use EALIGN for Quadword alignment. Fix -0.0 case. Use float const. * sysdeps/powerpc/powerpc64/fpu/s_rint.S: Use EALIGN for Quadword alignment. Fix -0.0 case. * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: Use EALIGN for Quadword alignment. Fix -0.0 case. Use float const. * sysdeps/powerpc/powerpc64/fpu/s_round.S: Use EALIGN for Quadword alignment. Fix -0.0 case. Remove redundant const values. * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: Use EALIGN for Quadword alignment. Fix -0.0 case. Remove redundant const values. Use float const. * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: Use EALIGN for Quadword alignment. Fix -0.0 case. * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: Use EALIGN for Quadword alignment. Fix -0.0 case. Remove redundant const values. Use float const.
2004-12-22(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.Ulrich Drepper
2007-07-122.5-18.1Jakub Jelinek
2004-06-30Update.Ulrich Drepper
2004-06-11 Dwayne Grant McConnell <dgm69@us.ibm.com> * sysdeps/powerpc/fpu/s_lround.c: Removed. * sysdeps/powerpc/fpu/s_lroundf.c: Removed. * sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_ceil.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_floorf.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_floor.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_lrint.c: Removed. * sysdeps/powerpc/powerpc32/fpu/s_lrint.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_lroundf.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_lround.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_rintf.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_rint.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_roundf.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_round.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_truncf.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_trunc.S: New file.