Commit Graph

151 Commits

Author SHA1 Message Date
Chris Metcalf
cd84016efe Optimize tile (mostly tilegx) memcpy and memmove performance.
- Override <memcopy.h> so we use full 8-byte word copies on tilegx32
  for memmove, then use op_t in memcpy instead of the previous
  locally-defined word_t just to avoid proliferating identical types.
- Fix bug in memcpy prefetch that caused us to never prefetch past
  the first cache line.
- Optimize misaligned memcpy by inlining _wordcopy_fwd_dest_aligned
  instead of just doing a dumb word-at-a-time copy.
- Make memcpy safe for forward copies by doing all the loads from
  a given cache line prior to doing a wh64 (cache line zero-fill)
  on the destination.  Remove now-redundant src == dst check.
- Copy and optimize the generic wordcopy.c routines to use the tile
  "double align" instruction instead of the MERGE macro; to avoid
  offset addressing mode (which tile doesn't have) by rewriting the
  pointer math to load and store with a zero index; and to use
  post-increment addresses in the inner loops to improve scheduling.
2012-11-06 09:24:19 -05:00
Joseph Myers
d7fcee3a58 Define lll_futex_timed_wait_bitset for MIPS. 2012-11-05 22:30:54 +00:00
Joseph Myers
316a1b67e1 Define lll_futex_timed_wait_bitset for ARM. 2012-11-05 22:30:37 +00:00
Joseph Myers
acfa885ff1 Fix types of FE_DFL_ENV and FE_NOMASK_ENV (bug 14805). 2012-11-05 13:38:40 +00:00
Thomas Schwinge
b830319d49 [BZ #157] Remove include/stub-tag.h for good. 2012-11-04 19:59:40 +01:00
Joseph Myers
5b5b04d628 Make fma use of Dekker and Knuth algorithms use round-to-nearest (bug 14796). 2012-11-03 19:48:53 +00:00
Joseph Myers
fbeafedeea Make fenv.h FE_* macros usable in #if (bug 3439). 2012-11-03 17:07:56 +00:00
Chris Metcalf
0244426b93 tile: Account for new tests (missed test-double changes) 2012-11-03 08:46:09 -04:00
Thomas Schwinge
46879baebf Regenerate all configure scripts. 2012-11-01 18:04:56 +01:00
Andreas Jaeger
53176cd906 Convert alpha to use <bits/fcntl-linux.h> 2012-11-01 06:07:38 +01:00
Thomas Schwinge
4c68e86547 BZ#14743: Move clock_* symbols from librt to libc.
Change missing from commit 6e6249d0b4.
2012-11-01 01:59:19 +01:00
Andreas Schwab
5a03cb1e85 Fix powerpc abilist sort order 2012-10-31 23:28:48 +01:00
Steve Ellcey
84097ebac3 Remove 'Contributed' line, glibc is not using them anymore. 2012-10-31 13:03:45 -07:00
Steve Ellcey
d002339920 Remove trailing white spaces. 2012-10-31 10:39:48 -07:00
Steve Ellcey
e6ff7f84f7 2012-10-31 Steve Ellcey <sellcey@mips.com>
* sysdeps/mips/memcpy.S: Add prefetching and more unrolling, make
	it work in 32 or 64 bit modes.
	* sysdeps/mips/mips64/memcpy.S: Remove.
2012-10-31 10:38:17 -07:00
Ryan S. Arnold
09dec6c37e Correct cacheline size to 32-bytes for ppc405 memset.S (bug 14595).
This patch also creates a version of memset.S for the ppc476 processor
which uses a 128-byte cacheline size for dcbz insns.
2012-10-30 17:07:18 -05:00
Chris Metcalf
47cc1490e0 Invoke DL_AFTER_LOAD if defined
This hook is useful for any arch-specific functionality that
should be done on loaded objects.  For the tile architecture,
the hook is already provided (though we switch to using the new
macro name with this commit) and implements a simulator notifier
so that the simulator can load Elf symbols to match the object
and generate better error messages for PC's.

Also, remove a spurious definition of DL_UNMAP in dl-runtime.c
2012-10-30 14:16:18 -04:00
Chris Metcalf
d44a6f8b99 tile: improve ABI and #include use in gettimeofday vdso support 2012-10-30 14:11:54 -04:00
Chris Metcalf
5ff3789785 tile: update libm-test-ulps for new tests 2012-10-30 14:11:22 -04:00
Joseph Myers
2a27fd6dae Fix strtod handling of underflow (bug 14047). 2012-10-30 13:51:27 +00:00
Carlos O'Donell
236bb0623d hppa: Add cfi direcvtives.
We add cfi directives to the syscall assembly.
2012-10-29 23:36:41 -04:00
Carlos O'Donell
e22f413005 hppa: Fix r19 save and restore.
We must save and restore r19 in both PIC and non-PIC
situations since the kernel paths that clobber r19
are independent of that PIC-ness of userspace.
In addition we choose r4 as the temporary register over
r3 which is being used by recent gcc's as the frame
pointer.
2012-10-29 23:16:44 -04:00
Carlos O'Donell
4ebdb01027 hppa: Optimize syscall sequence.
We remove an extraneous nop from the syscall sequence.
No DO_CALL* may end in an instruction with a delay slot.
2012-10-29 23:11:06 -04:00
Carlos O'Donell
f0b8ce0c73 Fix trailing whitespace. 2012-10-29 22:08:00 -04:00
Steve Ellcey
48b76e2d04 2012-10-29 Steve Ellcey <sellcey@mips.com>
* sysdeps/unix/sysv/linux/mips/mips32/Makefile: Remove.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/Makefile: Remove.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/Makefile: Remove.
	* sysdeps/unix/sysv/linux/mips/configure.in: Create default_abi.make.
	* sysdeps/unix/sysv/linux/mips/configure: Regenerate.
	* sysdeps/unix/sysv/linux/mips/Makefile: Include default_abi.make.
	(abi-variants): Add hard and soft float versions.
	(abi-o32-options): Remove.
	(abi-o32-condition): Remove.
	(abi-n32-options): Remove.
	(abi-n32-condition): Remove.
	(abi-n64-options): Remove.
	(abi-n64-condition): Remove.
	(abi-o32_soft-options): New.
	(abi-o32_soft-condition): New.
	(abi-o32_hard-options): New.
	(abi-o32_hard-condition): New.
	(abi-n32_soft-options): New.
	(abi-n32_soft-condition): New.
	(abi-n32_hard-options): New.
	(abi-n32_hard-condition): New.
	(abi-n64_soft-options): New.
	(abi-n64_soft-condition): New.
	(abi-n64_hard-options): New.
	(abi-n64_hard-condition): New.
2012-10-29 11:42:39 -07:00
Steve Ellcey
55e64efadf 2012-10-29 Steve Ellcey <sellcey@mips.com>
* sysdeps/unix/sysv/linux/mips/mips32/Makefile: Remove.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/Makefile: Remove.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/Makefile: Remove.
	* sysdeps/unix/sysv/linux/mips/configure.in: Create default_abi.make.
	* sysdeps/unix/sysv/linux/mips/configure: Regenerate.
	* sysdeps/unix/sysv/linux/mips/Makefile: Include default_abi.make.
	(abi-variants): Add hard and soft float versions.
	(abi-o32-options): Remove.
	(abi-o32-condition): Remove.
	(abi-n32-options): Remove.
	(abi-n32-condition): Remove.
	(abi-n64-options): Remove.
	(abi-n64-condition): Remove.
	(abi-o32_soft-options): New.
	(abi-o32_soft-condition): New.
	(abi-o32_hard-options): New.
	(abi-o32_hard-condition): New.
	(abi-n32_soft-options): New.
	(abi-n32_soft-condition): New.
	(abi-n32_hard-options): New.
	(abi-n32_hard-condition): New.
	(abi-n64_soft-options): New.
	(abi-n64_soft-condition): New.
	(abi-n64_hard-options): New.
	(abi-n64_hard-condition): New.
2012-10-29 11:40:31 -07:00
Chris Metcalf
d11260f86a tile: add vDSO support for gettimeofday() 2012-10-29 13:47:57 -04:00
Andreas Jaeger
86ebe6b133 Remove redundant defines of __O_LARGEFILE
* sysdeps/unix/sysv/linux/x86/bits/fcntl.h (__O_LARGEFILE)
	[!__x86_64]: Do not define, take value from <bits/fcntl-linux.h>.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h (__O_LARGEFILE):
	[__WORDSIZE != 64]: Likewise.

	* sysdeps/unix/sysv/linux/generic/bits/fcntl.h: (__O_LARGEFILE)
	[__WORDSIZE != 64]: Do not define, take value from
	<bits/fcntl-linux.h>.
2012-10-27 13:49:30 +02:00
Andreas Jaeger
76a82e29f8 HPPA: Use <bits/fcntl-linux.h>
* sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: Remove all
	definitions and declarations that are provided by
	<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
	(__O_PATH): Define.
2012-10-26 21:17:06 +02:00
Andreas Jaeger
af3a9965e5 Convert ia64, linux-generic, m68k <bits/fcntl.h> to use <bits/fcntl-linux.h>
* sysdeps/unix/sysv/linux/m68k/bits/fcntl.h: Remove all
	definitions and declarations that are provided by
	<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.

	* sysdeps/unix/sysv/linux/generic/bits/fcntl.h: Remove all
	definitions and declarations that are provided by
	<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.

	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Remove all
	definitions and declarations that are provided by
	<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
2012-10-25 20:20:08 +02:00
Roland McGrath
6e6249d0b4 BZ#14743: Move clock_* symbols from librt to libc. 2012-10-24 14:50:46 -07:00
Andreas Jaeger
de2b6422c6 Convert MIPS to use <bits/fcntl-linux.h>
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Remove all
	definitions and declarations that are provided by
	<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
2012-10-24 22:13:15 +02:00
Joseph Myers
0bf57f872c Don't set resource limits in tst-oddstacklimit-ENV. 2012-10-24 17:13:24 +00:00
Andreas Jaeger
2a0e2669f9 Always define __O_LARGEFILE 2012-10-22 16:23:20 +02:00
Andreas Jaeger
7597ceba89 ARM: Use <bits/fcntl-linux.h>
* sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Remove all
	definitions and declarations that are provided by
	<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
2012-10-22 09:34:11 +02:00
Chris Metcalf
b8d7c0968c tilegx: add optimized sched_getcpu() using TILE_COORD SPR
We can discover our x,y coordinate in the core mesh with an
mfspr instruction, multiply y by the core mesh width, and have
the core number without needing to ask the kernel.
2012-10-12 14:26:25 -04:00
Carlos O'Donell
9d9358f2eb hppa: Update pthread.h
Updates the hppa-specific pthread.h from the generic version.
After this update the only difference between the generic
version and the hppa version is the footer protected by the
_PTHREAD_H_HPPA_ guard.
2012-10-10 23:00:00 -04:00
Carlos O'Donell
fd328df065 hppa: Remove pt-initfini.c
Rmoves the unused pt-initfini.c
2012-10-10 22:52:00 -04:00
Carlos O'Donell
0883bc35b4 hppa: Restore nptl/shlib-versions.
On 2012-01-07 the nptl/shlib-versions file removed the hppa entry.
This restores that entry in the hppa ports tree.
2012-10-10 22:42:52 -04:00
Roland McGrath
b8493de0ec Add missing magic to GLIBC_PROVIDES. 2012-10-09 15:41:30 -07:00
Roland McGrath
fb228a2d94 Clean up R_ARM_PC24 handling. 2012-10-05 12:56:00 -07:00
Steve Ellcey
8f565a27ed 2012-10-03 Steve Ellcey <sellcey@mips.com>
* sysdeps/mips/ieee754.h: Move to...
	* sysdeps/mips/ieee754/ieee754.h: Here.
	* sysdeps/mips/mips32/Implies: Add mips/ieee754.
	* sysdeps/mips/mips64/Implies: Ditto.
	* sysdeps/mips/mips64/n32/Implies: Ditto.
	* sysdeps/mips/mips64/n64/Implies: Ditto.
2012-10-03 14:32:26 -07:00
Steve Ellcey
05088f14d6 2012-10-03 Steve Ellcey <sellcey@mips.com>
* sysdeps/mips/ieee754.h: Move to...
	* sysdeps/mips/ieee754/ieee754.h: Here.
	* sysdeps/mips/mips32/Implies: Add mips/ieee754.
	* sysdeps/mips/mips64/Implies: Ditto.
	* sysdeps/mips/mips64/n32/Implies: Ditto.
	* sysdeps/mips/mips64/n64/Implies: Ditto.
2012-10-03 14:31:00 -07:00
Siddhesh Poyarekar
adcdc775e1 Fix clone flag name in comment to CLONE_CHILD_CLEARTID. 2012-10-02 08:52:55 +05:30
Roland McGrath
51367701af Get rid of unused __swblk_t type. 2012-10-01 14:39:29 -07:00
Roland McGrath
93c65d4384 Clean up init-first.c files. 2012-10-01 12:55:34 -07:00
H.J. Lu
4ff2d4c2f6 Remove mips VERSYMIDX macro definition 2012-09-28 11:31:18 -07:00
H.J. Lu
f8419467bb Remove arm ADDRIDX macro definition 2012-09-28 11:31:13 -07:00
Richard Henderson
c18b7473cb alpha: Fix all users of SYSCALL_ERROR_HANDLER
The fix begun in 64e65bc1 was incomplete.  Fixed by adding
a new SYSCALL_ERROR_FALLTHRU macro.
2012-09-28 10:51:01 -07:00
Joseph Myers
f6a2737f08 Add __ppc_get_timebase_freq to powerpc-nofpu ABI baseline. 2012-09-26 00:30:54 +00:00