Thomas Schwinge
74d87055bf
Refer to two GCC PRs.
2013-04-03 14:13:44 +02:00
Thomas Schwinge
572676160d
New <math.h> macro named issignaling to check for a signaling NaN (sNaN).
...
It is based on draft TS 18661 and currently enabled as a GNU extension.
2013-04-02 13:51:02 +02: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
Siddhesh Poyarekar
0d1029de12
Remove usage of ONE macro
...
I missed this instance, which caused a build failure in powerpc.
2013-03-29 16:53:05 +05:30
Siddhesh Poyarekar
a64d7e0efb
Remove ZERO and MZERO macros
2013-03-29 16:37:26 +05:30
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
Adhemerval Zanella
fbbe2b9a1f
Fix e_logl (128ibm) spurious underflow
2013-03-28 09:52:48 -03:00
Siddhesh Poyarekar
6f2e90e78f
Make mantissa type of mp_no configurable
...
The mantissa of mp_no is intended to take only integral values. This
is a relatively good choice for powerpc due to its 4 fpus, but not for
other architectures, which suffer due to this choice. This change
makes the default mantissa a long integer and allows powerpc to
override it. Additionally, some operations have been optimized for
integer manipulation, resulting in a significant improvement in
performance.
2013-03-26 19:28:50 +05:30
Adhemerval Zanella
fce14d4e9c
PowerPC: fix libm ABI issue for llroundl
2013-03-26 10:01:57 -03:00
Adhemerval Zanella
b5784d95bb
PowerPC: fix sqrtl ABI issue
...
This patch fixes a sqrtl ABI issue when building for powerpc64.
2013-03-21 14:15:45 -03:00
Thomas Schwinge
495ded2c8c
Promote a math test for sNaN handling to the top-level.
2013-03-15 19:12:10 +01:00
Thomas Schwinge
777b0332c0
Use GCC's builtins for generating NaNs.
2013-03-15 19:10:20 +01:00
Thomas Schwinge
67e971f18f
Better distinguish between NaN/qNaN/sNaN.
2013-03-15 19:06:02 +01:00
Siddhesh Poyarekar
1e3803454e
Revert configurable mantissa patch
...
Reverts d22ca8cdfb
since it is severely broken on 32-bit.
2013-03-15 23:18:51 +05:30
Siddhesh Poyarekar
d22ca8cdfb
Make mantissa type configurable
...
This allows the default mantissa to be integral, with powerpc
overriding it to take advantage of its FPUs.
2013-03-15 10:44:03 +05:30
Adhemerval Zanella
edf66e57fc
PowerPC: unify math_ldbl.h implementations
...
This patch removes redudant definition from PowerPC specific
math_ldbl, using the definitions from ieee754 math_ldbl.h.
2013-03-08 11:07:15 -03: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
2d67d91ac0
Remove powerpc64 bounded-pointers code.
2013-03-06 00:10:21 +00:00
Joseph Myers
cfb6382a4f
Remove powerpc32 strncmp comments about bounded pointers.
2013-03-04 23:53:05 +00:00
Joseph Myers
6850863319
Use same installed powerpc headers for hard and soft float.
2013-03-01 22:53:27 +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
Joseph Myers
e97ed6ddbe
Remove bp-sym.h and BP_SYM uses from C code.
2013-02-14 13:12:02 +00:00
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
Joseph Myers
59981e9b0d
Adapt installed powerpc headers better for soft-float / no-FPRs.
2013-01-17 02:08:51 +00: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
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