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