Commit Graph

618 Commits

Author SHA1 Message Date
Andreas Schwab
557eead076 Revert "Use ieee754/dbl-64/wordsize-64 on powerpc64"
This reverts commit 7a9d2c3971.
2013-01-10 10:44:05 +01:00
Andreas Schwab
7a9d2c3971 Use ieee754/dbl-64/wordsize-64 on powerpc64
* sysdeps/ieee754/ldbl-opt/wordsize-64/s_ceil.c: New file.
	* sysdeps/ieee754/ldbl-opt/wordsize-64/s_finite.c: New file.
	* sysdeps/ieee754/ldbl-opt/wordsize-64/s_floor.c: New file.
	* sysdeps/ieee754/ldbl-opt/wordsize-64/s_frexp.c: New file.
	* sysdeps/ieee754/ldbl-opt/wordsize-64/s_isinf.c: New file.
	* sysdeps/ieee754/ldbl-opt/wordsize-64/s_isnan.c: New file.
	* sysdeps/ieee754/ldbl-opt/wordsize-64/s_llround.c: New file.
	* sysdeps/ieee754/ldbl-opt/wordsize-64/s_logb.c: New file.
	* sysdeps/ieee754/ldbl-opt/wordsize-64/s_lround.c: New file.
	* sysdeps/ieee754/ldbl-opt/wordsize-64/s_modf.c: New file.
	* sysdeps/ieee754/ldbl-opt/wordsize-64/s_nearbyint.c: New file.
	* sysdeps/ieee754/ldbl-opt/wordsize-64/s_remquo.c: New file.
	* sysdeps/ieee754/ldbl-opt/wordsize-64/s_rint.c: New file.
	* sysdeps/ieee754/ldbl-opt/wordsize-64/s_round.c: New file.
	* sysdeps/ieee754/ldbl-opt/wordsize-64/s_scalbln.c: New file.
	* sysdeps/ieee754/ldbl-opt/wordsize-64/s_scalbn.c: New file.
	* sysdeps/ieee754/ldbl-opt/wordsize-64/s_trunc.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/Implies: Add
	ieee754/ldbl-opt/wordsize-64.
	* sysdeps/powerpc/powerpc64/Implies: Add
	ieee754/dbl-64/wordsize-64.
2013-01-10 09:59:58 +01:00
Siddhesh Poyarekar
47cf227845 Update powerpc ULPs 2013-01-09 21:01:48 +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
Andreas Schwab
d643bac1f7 Fix warnings in test-powerpc-snan.c 2013-01-04 19:04:08 +01:00
Andreas Schwab
e47686e960 Update powerpc libm ULPs 2013-01-04 18:53:13 +01: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
Joseph Myers
9003570a49 Define _SYS_AUXV_H to 1 not empty in sysdeps/powerpc/sysdep.h. 2012-12-04 21:45:01 +00:00
Roland McGrath
48085d142e Fix type-punning warning in powerpc64 gmon-start. 2012-11-30 13:48:39 -08:00
Andreas Schwab
4e6e34e6ca Update powerpc libm-test ULPs 2012-11-23 16:57:39 +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
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