Commit Graph

288 Commits

Author SHA1 Message Date
Ondřej Bílka
c0c3f78afb Fix typos. 2013-08-21 19:48:48 +02:00
Adhemerval Zanella
d400dcac5e PowerPC: fix backtrace to handle signal trampolines
This patch fixes backtrace for PPC32 and PPC64 to correctly handle
signal trampolines. The 'debug/tst-backtrace6.c' also check for
SA_SIGINFO handling, where is triggers another vDSO symbols for PPC32.
2013-08-20 15:05:49 -05:00
Ryan S. Arnold
2f063a6e84 PowerPC: Enable POWER8 platform sans hwcap bits. 2013-06-24 15:33:32 -05:00
Joseph Myers
2e09a79ada Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00
Ondrej Bilka
350635a59a Fix leading whitespaces. 2013-06-06 20:36:07 +02:00
Joseph Myers
9c84384cc1 Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
Siddhesh Poyarekar
b937534868 Avoid crashing in LD_DEBUG when program name is unavailable
Resolves: #15465

The program name may be unavailable if the user application tampers
with argc and argv[].  Some parts of the dynamic linker caters for
this while others don't, so this patch consolidates the check and
fallback into a single macro and updates all users.
2013-05-29 21:34:12 +05:30
Adhemerval Zanella
aa630f590c PowerPC: modf optimization fix
This patch fix the 3c0265394d commits
by correctly setting minimum architecture for modf PPC optimization
to power5+ instead of power5 (since only on power5+ round/ceil will
be inline to inline assembly).
2013-04-26 13:00:56 -05:00
Adhemerval Zanella
3c0265394d PowerPC: modf optimization
This patch implements modf/modff optimization for POWER by focus
on FP operations instead of relying in integer ones.
2013-04-23 13:38:52 -05:00
Adhemerval Zanella
60c414c346 PowerPC: remove branch prediction from rint implementation
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-04-01 06:36:51 -05:00
Alan Modra
b0f1246ab4 PowerPC: .eh_frame info in crt1.o isn't useful and triggers gold bug 14675.
The .eh_frame info in crt1.o isn't useful and this patch prevents it from
being generated on PowerPC.  It triggers the following gold bug:

http://sourceware.org/bugzilla/show_bug.cgi?id=14675
2013-03-28 12:16:28 -05:00
Siddhesh Poyarekar
6d9145d817 Consolidate copies of mp code in powerpc
Retain a single copy of the mp code in power4 instead of the two
identical copies in powerpc32 and powerpc64.
2013-03-08 11:38:41 +05:30
Siddhesh Poyarekar
ce544b5bda Merge powerpc slowexp.c into generic code 2013-03-07 13:25:02 +05:30
Siddhesh Poyarekar
4cc149fd8e Merge powerpc slowpow.c into generic code 2013-03-07 13:23:07 +05:30
Siddhesh Poyarekar
e6ebd4a7d5 Use an intermediate variable to sum exponents in powerpc __mul and __sqr 2013-03-07 13:18:56 +05:30
Siddhesh Poyarekar
82a9811d29 Use generic mpa.c code for everything except __mul and __sqr 2013-03-07 12:23:29 +05:30
Joseph Myers
cfb6382a4f Remove powerpc32 strncmp comments about bounded pointers. 2013-03-04 23:53:05 +00:00
Joseph Myers
b551088322 Remove powerpc32 bounded-pointers code. 2013-02-28 21:23:47 +00:00
Siddhesh Poyarekar
8d19fe64ee Sync up ppc add_magnitudes and sub_magnitudes with default code 2013-02-28 11:13:05 +05:30
Siddhesh Poyarekar
60f5a8b534 Sync up powerpc __mp_dbl with default code 2013-02-25 12:01:45 +05:30
Siddhesh Poyarekar
8094523147 Mark __inv as static in powerpc 2013-02-21 15:05:28 +05:30
Siddhesh Poyarekar
bab8a695ee Fix whitespace differences between generic and powerpc mpa.c 2013-02-21 14:31:42 +05:30
Siddhesh Poyarekar
4c7a4263af Mark ZERO inputs to __mul as unlikely on powerpc
Syncs up with generic code.
2013-02-21 12:17:29 +05:30
Siddhesh Poyarekar
20cd7fb3ae Copy comment about inner loop from powerpc mpa.c to the default one 2013-02-20 18:56:20 +05:30
Siddhesh Poyarekar
cb57ce6031 Remove redundant return keyword 2013-02-14 15:43:25 +05:30
Siddhesh Poyarekar
d6752ccd69 New __sqr function as a faster special case of __mul 2013-02-14 10:31:09 +05:30
Joseph Myers
70d9946a44 Remove __ptrvalue, __bounded and __unbounded. 2013-02-13 23:30:40 +00:00
Joseph Myers
e782a927c2 Remove BOUNDED_N and BOUNDED_1. 2013-02-01 06:35:29 +00:00
Andreas Schwab
ed689c2f74 Remove use of mpa2.h 2013-01-20 02:05:53 +01:00
Siddhesh Poyarekar
1066a53440 Fix code formatting in mpa.c
This includes the overridden mpa.c in power4.
2013-01-14 21:53:43 +05:30
Siddhesh Poyarekar
e34ab70550 Remove unnecessary local variable mptwo 2013-01-14 21:23:47 +05:30
Siddhesh Poyarekar
950c99ca90 Update comments in mpa.c
Fixed comment style and clearer wording in some cases.
2013-01-09 19:07:15 +05:30
Anton Blanchard
2ccdea26f2 Fix spelling errors in sysdeps/powerpc files. 2013-01-07 11:20:53 -06:00
Siddhesh Poyarekar
fffb407f46 Remove unused __cr and __cpymn 2013-01-04 22:52:12 +05:30
Siddhesh Poyarekar
b18decba11 Fix build failure on power4 processors
The power4-specific mpa.c depended on some global variables that were
removed by earlier patches.  Also, it did not define mpone and mptwo.
2013-01-04 22:05:49 +05:30
Joseph Myers
568035b787 Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
Joseph Myers
f4cf5f2d8b Add script to update copyright notices and reformat some to facilitate its use. 2013-01-01 16:29:10 +00:00
Sebastan Andrzej Siewior
a2421a6853 Put __NO_FPRS__ around floating point opcodes in powerpc32/dl-trampoline.S. 2012-11-01 16:48:47 -05:00
Roland McGrath
b8493de0ec Add missing magic to GLIBC_PROVIDES. 2012-10-09 15:41:30 -07:00
Will Schmidt
15d0da8cb3 Add versions of wcscpy, wcschr, wcsrchr for power6/power7.
Initially based on the versions found in wcsmbs/* ; these files have
been changed by hand unrolling, and adding some additional variables
to allow some read-ahead to occur, which then relieves some of the
wait-for-increment/wait-for-load/wait-for-compare-results pressure
that was slowing down every iteration through the while-loop.

For 64-bit Power7, These changes give an approx 20% throughput boost
for the wcschr and wcsrchr functions; and approx 40% boost for the
wcscpy function.  32-bit improvements appear to be slightly better
with ~ %30 and ~ %45 respectively.  Results for Power6 closely match
those for power7.
2012-08-22 11:04:42 -05:00
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
Marek Polacek
b67e9372b2 Get rid of ASM_TYPE_DIRECTIVE{,_PREFIX}. 2012-08-02 21:04:29 +02:00
Joseph Myers
3129cfc6ec Move testsuite audit definitions to sysdeps tst-audit.h files. 2012-07-26 11:29:07 +00:00
Adhemerval Zanella
d37cbdaa86 Split tls-macros.h in sysdeps directories.
Split PowerPC definitions in PPC32 and PPC64 headers.
2012-07-19 17:04:04 -03:00
Marek Polacek
3b05db33f6 Remove TLS configure checks. 2012-07-17 23:57:43 +02:00
Marek Polacek
7b8e0d49cb Get rid of ASM_GLOBAL_DIRECTIVE. 2012-07-10 14:30:24 +02:00
Andreas Schwab
261f485936 Fix missing _mcount@GLIBC_2.0 on powerpc32 2012-07-06 23:43:56 +02:00
Andreas Schwab
173f722045 Move __mcount_internal from GLIBC_PRIVATE to GLIBC_2.16 2012-06-02 21:21:15 +02:00
Andreas Schwab
3d3f8e5582 Fix missing declaration 2012-05-26 22:33:51 +02:00
Andreas Schwab
25dbcb277a Optimize handling of denormals in logb/logbf/logbl 2012-05-26 13:53:22 +02:00
Richard Henderson
a386f1cc22 ppc: Pass hwcap to ifuncs.
* sysdeps/powerpc/powerpc32/dl-irel.h (elf_ifunc_invoke): Pass
        dl_hwcap to ifunc resolver.
        * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Use
        elf_ifunc_invoke.
        * sysdeps/powerpc/powerpc64/dl-irel.h (elf_ifunc_invoke): Pass
        dl_hwcap to ifunc resolver.
        * sysdeps/powerpc/powerpc64/dl-machine.h (resolve_ifunc): Likewise.
2012-05-25 10:30:42 -07:00
Adhemerval Zanella
45470df378 PowerPC: libm ABI update
Update for libm abilist for POWER6 and POWER7.
2012-05-22 15:34:02 -03:00
H.J. Lu
20c07380db Rename __WORDSIZE_COMPAT32 to __WORDSIZE_TIME64_COMPAT32 2012-05-21 13:39:55 -07:00
Tulio Magno Quites Machado Filho
a88b64b9bb [PowerPC] Remove -ftree-loop-linear from Makefiles
In the past the "-ftree-loop-linear" switch provided a measurable
improvement in performance for certain functions.  At some point it
was assigned as the responsibility of Graphite in GCC.  It has been
found that even with Graphite enabled these flags no longer perform
any appreciable improvement over the baseline.

Graphite now has some open bugs which need to be fixed in order for it
to provide measurable performance improvements but it lacks active
development.  As a result some compiler distributors may disable
Graphite.  If Graphite is disabled then building GLIBC will fail if
the "-ftree-loop-linear" switch is used.

This patch removes the use of "-ftree-loop-linear" as unnecessary.
2012-05-18 10:15:30 -05:00
Andreas Schwab
37fb1dc057 Avoid runtime GOT relocations in ld.so on powerpc 2012-05-18 12:00:22 +02:00
Andreas Schwab
b53ef01aa2 Fix undefined reference to _dl_prof_resolve in profiled libc 2012-05-18 11:59:44 +02:00
Joseph Myers
a9538892ad Split up stackguard-macros.h into sysdeps directories. 2012-05-15 23:34:30 +00: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
Andreas Schwab
412bd96612 Fix missing nearbyintl@GLIBC_2.1 on powerpc 2012-05-01 12:40:59 +02:00
Will Schmidt
6b652f46c3 Further simplify power6 wordcopy by removing switch statements.
This fix replaces switch statements that contain individual
[fwd|bwd]_align_merge (<constant>) calls with a single [fwd|bwd]_align_merge
(align) call.
2012-04-18 15:34:23 -05:00
Will Schmidt
b282631e36 Simplify power6 wordcopy by adding [fwd|bwd]_align_merge macros. 2012-04-18 14:52:25 -05:00
David S. Miller
993eb0541c Reduce down to one definition of _ELF_DYNAMIC_DO_RELOC.
* 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.
2012-04-05 15:28:37 -07:00
Andreas Jaeger
51d8bb8f3b Regenerate configure files 2012-03-28 09:37:58 +02:00
Andreas Jaeger
7a2b3e0dcd Move sysdeps/powerpc/powerpc32/elf files
* sysdeps/powerpc/powerpc32/elf/bzero.S: Moved to ...
	* sysdeps/powerpc/powerpc32/bzero.S: ... here.
	* sysdeps/powerpc/powerpc32/elf/start.S: Moved to ...
	* sysdeps/powerpc/powerpc32/start.S: ... here.
	* sysdeps/powerpc/powerpc32/elf/configure.in: Merge into ...
	* sysdeps/powerpc/powerpc32/configure.in: ... this.
	* sysdeps/powerpc/powerpc32/elf/configure: Delete file.
2012-03-28 09:23:52 +02:00
Andreas Schwab
7998fa7899 Disable use of FMA instructions in branred 2012-03-21 23:58:50 +01:00
H.J. Lu
eb96ffb07d Move stdio-common/_itoa.h to sysdeps/generic 2012-03-20 16:00:23 -07:00
Paul Eggert
c524201ab0 Replace FSF snail mail address with URL in miscellaneous files. 2012-03-10 00:45:35 +00:00
Richard Henderson
1ed0291c31 Use <> for math.h and math_private.h everywhere.
Entire tree edited via find | grep | sed.
2012-03-09 16:09:10 -08:00
Joseph Myers
0e7dfaef51 Remove old initfini mechanism. 2012-02-21 00:46:01 +00:00
Paul Eggert
59ba27a63a Replace FSF snail mail address with URLs. 2012-02-09 23:18:22 +00:00
Andreas Schwab
ba988fc563 powerpc: add crt files
* sysdeps/powerpc/powerpc32/crti.S: New file.
	* sysdeps/powerpc/powerpc32/crtn.S: New file.
	* sysdeps/powerpc/powerpc64/crti.S: New file.
	* sysdeps/powerpc/powerpc64/crtn.S: New file.
2012-02-08 22:25:14 +01:00
Marek Polacek
622c86f480 Remove __ELF__ conditionals 2012-02-07 00:41:11 +01:00
Adhemerval Zanella
d73f93a461 PowerPC - A2 memcpy cache line size initialization 2012-01-27 18:05:45 -05:00
Will Schmidt
929d11c7cf Powerpc: correct duplicate label issue with multiple passes through context code 2012-01-12 17:05:03 -05:00
Ulrich Drepper
0269750ca6 Remove non-ELF support 2012-01-07 20:30:26 -05:00
Adhemerval Zanella
f0b264f174 Optimized strcasecmp for Power7 2011-12-17 20:32:59 -05:00
Ulrich Drepper
b813d73fd7 Fix WP 2011-12-17 15:08:09 -05:00
Will Schmidt
91d2a8453f Simplify code for accessing powerpc GOT 2011-12-17 15:07:31 -05:00
Adhemerval Zanella
a1267ba1c6 Optimized nearbyint for PPC 2011-12-17 14:59:47 -05:00
Andreas Schwab
3a62d00d40 Don't call ifunc functions in trace mode 2011-10-05 14:35:40 +02:00
Ulrich Drepper
83cd142045 Remove --wth-tls option, TLS support is required 2011-09-11 15:02:01 -04:00
Ulrich Drepper
d063d16433 Remove support for !USE___THREAD 2011-09-10 16:50:28 -04:00
Alan Modra
24f579d86e Fix profiling on powerpc32 secure-plt shared libs and PIEs 2011-09-07 22:02:42 -04: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
David S. Miller
42675c6ff0 Add an elf_ifunc_invoke interface so that architectures can implement
the ifunc resolver calls however they wish.
2011-06-20 19:56:40 -07:00
Ulrich Drepper
7a41d99a35 Fix whitespaces. 2011-04-22 21:38:13 -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
ccfe366e6f PowerPC: Fix POWER6 s_isnanf.S: END(__isnan) to END(__isnanf) 2011-03-18 05:15:00 -04:00
Luis Machado
344d0b545d power7-optimized mempcpy 2010-11-05 08:01:13 -04:00
Michael B. Brutman
d0b9e94faf powerpc: PPCA2/A2 optimized memcpy function 2010-10-24 21:47:33 -04:00
Jakub Jelinek
5e908464b9 Implement accurate fma. 2010-10-13 22:27:03 -04:00
Luis Machado
91c4255919 powerpc: Use generic memset for RTLD for ppc32/64 2010-09-29 12:21:14 -04:00
Ulrich Drepper
724da3d7f4 Revert "powerpc: PPCA2 optimized memcpy function"
This reverts commit 44f91d3884.

Conflicts:

	ChangeLog
2010-09-27 23:02:55 -04:00
Michael B. Brutman
44f91d3884 powerpc: PPCA2 optimized memcpy function 2010-09-21 14:06:46 -07:00
Luis Machado
fe2f79db99 powerpc: Various P7-optimized string functions 2010-08-19 07:38:41 -07:00
Alan Modra
bebff237c5 PowerPC64 ABI fixes 2010-08-12 09:19:19 -07:00
Ulrich Drepper
9b059f9774 Whitespace fixes. 2010-07-15 08:39:26 -07:00
Luis Machado
77c1b06986 POWER6/7 optimizations for copysign 2010-07-15 08:24:40 -07:00