Commit Graph

23 Commits

Author SHA1 Message Date
Will Schmidt
14a50c9d23 [Powerpc] Tune/optimize powerpc{32,64}/power7/memchr.S.
Assorted tweaking, twisting and tuning to squeeze a few additional cycles
out of the memchr code.   Changes include bypassing the shift pairs
(sld,srd) when they are not required, and unrolling the small_loop that
handles short and trailing strings.

Per scrollpipe data measuring aligned strings for 64-bit, these changes
save between five and eight cycles (9-13% overall) for short strings (<32),
Longer aligned strings see slight improvement of 1-3% due to bypassing the
shifts and the instruction rearranging.
2012-08-21 14:20:55 -05:00
Adhemerval Zanella
45470df378 PowerPC: libm ABI update
Update for libm abilist for POWER6 and POWER7.
2012-05-22 15:34:02 -03:00
Adhemerval Zanella
777b1eea9d PowerPC - logb[f|l] optimization for POWER7
This patch provides optimized logb (1.2x on PPC32 and 2.5x on PPC64),
logbf (1.1x on PPC32 and 2.2x on PPC64), and logbl (1.3x on PPC32 and
50% on PPC64) for the POWER7 processor.
2012-05-15 10:32:28 -05:00
Paul Eggert
59ba27a63a Replace FSF snail mail address with URLs. 2012-02-09 23:18:22 +00:00
Adhemerval Zanella
f0b264f174 Optimized strcasecmp for Power7 2011-12-17 20:32:59 -05:00
Will Schmidt
2270037782 power7 strncmp optimization 2011-09-07 21:56:57 -04:00
Will Schmidt
5025581e1c power7 memcpy VSX optimizations 2011-09-07 21:54:41 -04:00
Jim Meyering
ded5b9b7c7 Remove doubled words. 2011-04-22 21:34:32 -04:00
Andreas Schwab
4420675c9d Fix POWER4/POWER7 optimized strncmp to not read past differing bytes 2011-04-17 22:03:53 -04:00
Ryan S. Arnold
2206397e1c Disable VSX usage in rtld.c to prevent TOC ref before relocs are resolved. 2011-02-17 00:59:15 -05:00
Luis Machado
344d0b545d power7-optimized mempcpy 2010-11-05 08:01:13 -04:00
Luis Machado
fe2f79db99 powerpc: Various P7-optimized string functions 2010-08-19 07:38:41 -07:00
Luis Machado
f47c9a11ad powerpc: Re-work the Implies structure
This patch tries to organize the implies files for ppc, since there are
a number of processors and most of them are compatible with each other
(backwards compatible).

Having in mind that we start the search for processor-specific files in
the sysdeps/unix/sysv/linux tree
(sysdeps/unix/sysv/linux/powerpc/powerpc[32|64]/[processor]/fpu to be
exact), we would like to grab any linux-specific code from that tree
prior to going through the other tree (sysdeps/powerpc/...).

For that, i removed the Implies files that were originally inside the
fpu directories and placed then in the non-fpu directories (still inside
the unix/sysv/linux tree). If no processor-specific/linux-specific files
could be found, we "imply" the other tree's (sysdeps/powerpc/...) fpu
directory for that specific processor AND also the non-fpu directory for
that same tree.

If, again, no processor-specific code is found, we read another Implies
file that will point to the most compatible processor that we should
grab code from, and so on, until we reach the power4 processor.

So, in summary, the Implies files will live inside these directories
now:

* sysdeps/unix/sysv/linux/powerpc/powerpc[32|64]/[processor]
* sysdeps/powerpc/powerpc[32|64]/[processor]

Practical example of the order we will use to pick power6-specific code
with the new structure.

sysdeps/unix/sysv/linux/powerpc/powerpc[32|64]/power6/fpu ->
sysdeps/unix/sysv/linux/powerpc/powerpc[32|64]/power6 ->
sysdeps/powerpc/powerpc[32|64]/power6/fpu ->
sysdeps/powerpc/powerpc[32|64]/power6 ->
sysdeps/powerpc/powerpc[32|64]/power5+/fpu ->
sysdeps/powerpc/powerpc[32|64]/power5+ ->
sysdeps/powerpc/powerpc[32|64]/power5/fpu ->
sysdeps/powerpc/powerpc[32|64]/power5 ->
sysdeps/powerpc/powerpc[32|64]/power4/fpu ->
sysdeps/powerpc/powerpc[32|64]/power4 (from here, it'll go to the
generic path as usual)
2010-06-30 09:57:38 -07:00
Ulrich Drepper
af6edc9c6a More whitespace fixes. 2010-06-14 17:16:23 -07:00
Ulrich Drepper
1dc242356a Fix whitespaces. 2010-06-14 17:15:33 -07:00
Luis Machado
158db12267 power7 string compare optimizations 2010-06-14 17:13:24 -07:00
Luis Machado
33b8d90a1b Add missing files. 2010-05-20 04:35:05 -07:00
Ulrich Drepper
b8907dfd8b Fix whitespace issues. 2010-03-10 07:28:04 -08:00
Luis Machado
fb084e5e80 power7-optimized 64-bit and 32-bit memcpy 2010-03-10 07:14:16 -08:00
Luis Machado
61c9346ddc Fix POWER7 Implies 2010-02-10 07:15:01 -08:00
Ulrich Drepper
029f8f41c7 Fix whitespace issues. 2010-02-09 22:46:23 -08:00
Luis Machado
0f507b6c95 power7-optimized classification functions 2010-02-09 22:42:38 -08:00
Ulrich Drepper
134a97667f * sysdeps/powerpc/powerpc32/power7/fpu/Implies: New file.
* sysdeps/powerpc/powerpc32/power7/Implies: Likewise.
	* sysdeps/powerpc/powerpc64/power7/fpu/Implies: Likewise.
	* sysdeps/powerpc/powerpc64/power7/Implies: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/power7/fpu/Implies:
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/fpu/Implies:
	Likewise.
2009-03-02 13:50:16 +00:00