Commit Graph

653 Commits

Author SHA1 Message Date
Joseph Myers
fbeafedeea Make fenv.h FE_* macros usable in #if (bug 3439). 2012-11-03 17:07:56 +00:00
Tulio Magno Quites Machado Filho
d7d08bdede Direct __ppc_get_timebase to __builtin_ppc_get_timebase for GCC 4.8+.
Adapts __ppc_get_timebase to the upcoming GCC 4.8 that provides
__builtin_ppc_get_timebase.  Building applicationns with previous
versions of GCC will continue to use the internal implementation.
2012-11-02 11:27:11 -05:00
Tulio Magno Quites Machado Filho
b3563932f8 PowerPC: Remove unnecessary -mnew-mnemonics. 2012-11-01 18:02:41 -05: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
Andreas Schwab
1818fcb781 Update powerpc libm ULPs 2012-10-31 22:20:21 +01:00
Roland McGrath
b8493de0ec Add missing magic to GLIBC_PROVIDES. 2012-10-09 15:41:30 -07:00
Tulio Magno Quites Machado Filho
8ad11b9a9c Add __ppc_get_timebase_freq to ppc.h. 2012-09-25 16:53:14 -05: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
Joseph Myers
56e49b714e Move ldsodefs.h audit definitions to sysdeps directories. 2012-07-25 16:03:02 +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
Joseph Myers
cfc82fd8ac Split tls-macros.h into sysdeps directories. 2012-07-17 11:30:58 +00:00
Adhemerval Zanella
28cfe84316 Fix ctan, ctanh of subnormals in round-upwards mode (bug 14328).
IBM long double fixes and POWER ulps update.
2012-07-11 09:19:27 -03:00
Marek Polacek
7b8e0d49cb Get rid of ASM_GLOBAL_DIRECTIVE. 2012-07-10 14:30:24 +02:00
Andreas Schwab
0abaf3e48a Fix float range reduction problems (#14283) 2012-07-06 23:57:20 +02:00
Andreas Schwab
261f485936 Fix missing _mcount@GLIBC_2.0 on powerpc32 2012-07-06 23:43:56 +02:00
Tulio Magno Quites Machado Filho
d9dc34cd56 Manual for platform-specific features and new __ppc_get_timebase inline.
[BZ #13743]
A new class of installed headers has been documented for low-level
platform-specific functionality.  PowerPC added the first instance with a
function to provide time base register access (__ppc_get_timebase).  This
is required for applications that measure time at high frequencies with
high precision that can't afford a syscall.
2012-06-04 13:46:37 -05:00
Andreas Schwab
173f722045 Move __mcount_internal from GLIBC_PRIVATE to GLIBC_2.16 2012-06-02 21:21:15 +02:00
Adhemerval Zanella
73a68f94d6 PowerPC: Fix for POWER7 sinf/cosf
This patch fixes some sinf/cosf calculations that generated unexpected
underflows exceptions.
2012-06-01 10:10:18 -03:00
Andreas Schwab
e77253266a Sort sysdeps/powerpc/fpu/libm-test-ulps 2012-06-01 01:26:27 +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
Joseph Myers
795405f956 Don't include exceptions in libm-test-ulps test names. 2012-05-24 12:14:03 +00: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
Adhemerval Zanella
478143fa17 PowerPC: ULPs update
Adjustments for libm ulps added with commit d8b82cad1b,
495fd99f3a, and 5ba3cc691c.
I also adjusted some exp10 ulps definition that was higher than needed.
2012-05-21 14:28:51 -03:00
Richard Henderson
c7683a6d02 Add <sys/auxv.h> and getauxval. 2012-05-20 10:40:35 -07:00
Adhemerval Zanella
a6f1845d45 Update powerpc ULPs for ccos, csin, ccosh, csinh tests. 2012-05-19 15:46:20 +00:00
Joseph Myers
b1d072a75e Remove sysdeps/powerpc/soft-fp. 2012-05-19 10:03:24 +00: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
c7df011202 Fix warning in powerpc bcopy 2012-05-12 17:41:37 +02:00
Thomas Schwinge
febb44a4cb [BZ #13673] Replace FSF snail mail address with URL. 2012-05-11 17:39:57 +08:00
Adhemerval Zanella
31dc8730af Fix for ldbl-128ibm acosl/asinl inaccuracies
2012-05-02  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>

	* sysdeps/ieee754/ldbl-128ibm/e_acosl.c (__ieee754_acosl): Fix
	long double comparison inaccuracies.
	* sysdeps/ieee754/ldbl-128ibm/e_asinl.c (__ieee754_asinl):
	* Likewise.
	* sysdeps/powerpc/fpu/libm-test-ulps: Update.
2012-05-04 13:06:32 +02:00
Andreas Schwab
412bd96612 Fix missing nearbyintl@GLIBC_2.1 on powerpc 2012-05-01 12:40:59 +02:00
Adhemerval Zanella
0ac229c819 Fix ctan, ctanh overflow for ldbl-128ibm (bug 11521). 2012-04-26 11:18:11 -05:00
Adhemerval Zanella
94e02fc410 Correct powerpc64 s_floorl edge cases (bug 13886).
[BZ #13886]
Remove powerpc64/fpu/s_floorl.  Use fully correct ldbl-128bim/s_floorl.c.
2012-04-24 14:21:45 -05:00
Will Schmidt
8ff41c4601 Have memmove call __builtin_memcopy on PowerPC if src and dest don't overlap. 2012-04-18 16:44:27 -05: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
bdc6f13012 Fix whitespace 2012-03-28 10:00:15 +02:00
Andreas Jaeger
51d8bb8f3b Regenerate configure files 2012-03-28 09:37:58 +02:00
Andreas Jaeger
27a0f3a948 Move sysdeps/powerpc/elf files
* sysdeps/powerpc/elf/ifunc-sel.h: Moved to ...
	* sysdeps/powerpc/ifunc-sel.h: ... here.
	* sysdeps/powerpc/elf/rtld-global-offsets.sym: Moved to ...
	* sysdeps/powerpc/rtld-global-offsets.sym: ... here.
2012-03-28 09:25:31 +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 Jaeger
0238008669 Move sysdeps/powerpc/powerpc64/elf files
* sysdeps/powerpc/powerpc64/elf/bzero.S: Moved to ...
	* sysdeps/powerpc/powerpc64/bzero.S: ... here.
	* sysdeps/powerpc/powerpc64/elf/entry.h: Moved to ...
	* sysdeps/powerpc/powerpc64/entry.h: ... here.
	* sysdeps/powerpc/powerpc64/elf/start.S: Moved to ...
	* sysdeps/powerpc/powerpc64/start.S: here.
	* sysdeps/powerpc/powerpc64/elf/Makefile: Merge into ...
	* sysdeps/powerpc/powerpc64/Makefile: ... this.
	* sysdeps/powerpc/powerpc64/elf/configure.in: Merge into ...
	* sysdeps/powerpc/powerpc64/configure.in: ... this.
	* sysdeps/powerpc/powerpc64/elf/configure: Delete file.
2012-03-28 09:22:05 +02:00
Andreas Schwab
c876e002a2 Update powerpc libm test ULPs 2012-03-26 14:20:28 +02:00
Andreas Schwab
233fc56343 Update powerpc libm-test ULPs 2012-03-21 23:59:22 +01: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
Andreas Schwab
e79d442ee6 Update powerpc libm test ULPs 2012-03-18 15:20:42 +01:00
Andreas Schwab
11e0098ef0 Use double precision instead of scaling for powerpc __ieee754_hypotf 2012-03-15 18:13:52 +01:00
Andreas Schwab
9cad04eaf7 Update powerpc libm ULPs 2012-03-15 13:55:46 +01:00
Andreas Schwab
058c132dd1 Update powerpc libm ULPs 2012-03-10 19:18:42 +01:00
Paul Eggert
c524201ab0 Replace FSF snail mail address with URL in miscellaneous files. 2012-03-10 00:45:35 +00:00
Richard Henderson
b8c036204f Use include_next to chain math_private.h headers. 2012-03-09 16:11:26 -08: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
Richard Henderson
67bb6da679 powerpc: Convert __ieee754_sqrt{,f} from macros to inlines. 2012-03-09 11:16:18 -08:00
Andreas Schwab
884c5db424 Update powerpc libm ULPs 2012-03-05 20:38:18 +01:00
Andreas Schwab
c692293436 Update powerpc libm ULPs 2012-03-04 16:03:21 +01:00
Joseph Myers
7b1902cb3e Improve erfc accuracy. 2012-03-01 21:15:38 +00:00
Joseph Myers
0e7dfaef51 Remove old initfini mechanism. 2012-02-21 00:46:01 +00:00
Joseph Myers
5ad91f6e6f Resort ULPs files with gen-libm-test.pl -n in C locale. 2012-02-20 18:06:05 +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
Andreas Schwab
84ba42c4fb Adjust libm test ULPs for powerpc 2012-02-07 15:21:41 +01:00
Marek Polacek
622c86f480 Remove __ELF__ conditionals 2012-02-07 00:41:11 +01:00
Joseph Myers
d55bf1777c Always define float_t as float for PowerPC, SH and SPARC. 2012-01-31 22:57:02 +00:00
Adhemerval Zanella
d73f93a461 PowerPC - A2 memcpy cache line size initialization 2012-01-27 18:05:45 -05:00
Joseph Myers
8db2188281 Remove __STDC__ conditionals from libm. 2012-01-27 17:29:45 +00:00
Joseph Myers
7071ad79db Remove __STDC__ conditionals from installed headers. 2012-01-26 20:49:22 +00: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
850fb039ce Fix a wrong constant in powerpc hypot implementation 2011-12-06 11:12:01 +01:00
Adhemerval Zanella
8a6d525522 PowerPC: Arithmetic function optimizations for POWER 2011-11-11 13:33:38 -05:00
Ulrich Drepper
0ac5ae2335 Optimize libm
libm is now somewhat integrated with gcc's -ffinite-math-only option
and lots of the wrapper functions have been optimized.
2011-10-12 11:27:51 -04:00
Andreas Schwab
3a62d00d40 Don't call ifunc functions in trace mode 2011-10-05 14:35:40 +02:00
Andreas Schwab
68822d7426 Adjust powerpc libm ULPs 2011-09-28 10:12:56 +02:00
Andreas Schwab
edc121be8b Fix PLT uses in libm on powerpc 2011-09-15 15:35:38 +02:00
Andreas Schwab
1ae12c758f Fix undefined symbol in powerpc64 dl-machine.h 2011-09-13 20:01:15 +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
Ulrich Drepper
bd8f72ec2a Fix whitespaces 2011-09-07 22:12:47 -04:00
Adhemerval Zanella
77a2a8b4a1 Trigonometric optimizations for POWER 2011-09-07 22:10:26 -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
Aurelien Jarno
873a772e30 Fix duplicate definition of Elf64_FuncDesc 2011-08-23 15:05:32 +02:00
Andreas Schwab
94d7165ffa Adjust libm test ulps for powerpc 2011-08-20 08:39:39 -04:00