Commit Graph

6850 Commits

Author SHA1 Message Date
Ulrich Drepper
fd52bc6dc4 Clean up x86-64 strcasestr
Actually describe in the C code what is going on.
2011-10-28 18:18:04 -04:00
Ulrich Drepper
a5b81e1fb7 Remove code without too much effects
Some of the AVX-specific code is not giving enough speed-up to
justify the extra code.
2011-10-28 16:55:01 -04:00
Andreas Schwab
0c92d8a87a Fix some warning nits 2011-10-28 12:02:08 +02:00
Andreas Schwab
b43433460b Move wide char related routines to wcsmbs subdir 2011-10-28 12:01:29 +02:00
Andreas Schwab
804791474d Fix uses of math_force_eval 2011-10-26 11:44:08 +02:00
Andreas Schwab
f6ce9294b0 Make math_force_eval accept non-addressable arguments 2011-10-26 11:44:08 +02:00
Ulrich Drepper
e0016b11d6 Add AVX optimized versions for some x86-64 math functions 2011-10-25 21:34:55 -04:00
Ulrich Drepper
618280a192 Optimize x86-64 SSE4.2+ strcmp a bit more 2011-10-25 14:50:31 -04:00
Ulrich Drepper
d7826aa149 Use math_force_eval in more places 2011-10-25 10:52:45 -04:00
Ulrich Drepper
31ea014d8b Use VEX encoding in inline math functions on x86-64 when possible 2011-10-25 08:17:57 -04:00
Ulrich Drepper
31d3cc00b0 Cleanup FMA4 patch
Move the FMA4 code into its own section.  Avoid some of the duplication
of data resulting from the double use of source files.
2011-10-25 00:56:33 -04:00
Ulrich Drepper
202c9deb15 Better DLA_FMS
It's better to use __builtin_fma if it works.  Use it for gcc 4.6 and
higher.  Move the x86-64 dla.h to the correct place.
2011-10-24 22:11:21 -04:00
Ulrich Drepper
a0cf1edd4c Use inline asm for DLA_FMS because of broken old compilers 2011-10-24 21:17:10 -04:00
Ulrich Drepper
af968f62f2 Optimize accurate 64-bit routines for FMA4 on x86-64 2011-10-24 20:19:17 -04:00
Ulrich Drepper
58985aa92f Finish renamed DLA_FMA -> DLA_FMS 2011-10-24 14:21:18 -04:00
Ulrich Drepper
bb3129bd25 Optimized remquo for 64-bit platforms 2011-10-23 21:31:21 -04:00
Ulrich Drepper
0275fff8a1 Optimize f_mod
Branch prediction for the 32-bit implementation and a new optimized
64-bit implementation.
2011-10-23 20:55:26 -04:00
Ulrich Drepper
2fa2ae85ca Fix strnlen change 2011-10-23 16:30:40 -04:00
Liubov Dmitrieva
fc2ee42abe Add optimized wcslen and strnlen for x86-32 2011-10-23 15:17:23 -04:00
Ulrich Drepper
09229f3e1b Fix WS 2011-10-23 14:57:28 -04:00
Liubov Dmitrieva
ce7dd29f28 Optimized strnlen and wcscmp for x86-64 2011-10-23 14:56:04 -04:00
Michael Zolotukhin
979c70a3b1 Improve x86-32 SSSE3 memcpy 2011-10-23 14:28:26 -04:00
Ulrich Drepper
f17424ed53 Fix WS 2011-10-23 13:35:24 -04:00
Liubov Dmitrieva
95584d3b33 Fix signedness in wcscmp comparison 2011-10-23 13:34:15 -04:00
Ulrich Drepper
774a2669af Clean up FMA use
The macro's name should reflect that subtraction is being done.  And
use __builtin_fma, it seems to work after all.
2011-10-23 13:31:01 -04:00
Ulrich Drepper
c8b3296bbe Clean up last dla.h change 2011-10-23 12:50:28 -04:00
Andreas Schwab
246ad57ad6 Add missing _finite aliases 2011-10-23 15:32:05 +02:00
Ulrich Drepper
fb24de5932 Fix typo in last change 2011-10-22 20:09:58 -04:00
Ulrich Drepper
0d355eb7c7 Update ULPs for x86-64 2011-10-22 20:06:23 -04:00
Ulrich Drepper
fa36182bda Improve DLA_FMA for FMA4 2011-10-22 19:53:33 -04:00
Ulrich Drepper
a1a8716924 Start using fma in the libm implementation 2011-10-22 19:02:20 -04:00
Andreas Schwab
ee2aafe08e Fix compilation due to __nan defines 2011-10-22 14:03:26 +02:00
Ulrich Drepper
bc62c2fb15 Optimization to some complex math functions
Also, change last reference to __sqrt into __sqrt to easily.
2011-10-22 00:32:39 -04:00
Ulrich Drepper
c196fed8f0 Fix compilation problems in x86-64 init-arch 2011-10-21 20:47:20 -04:00
Ulrich Drepper
8ec250a484 Add some __builtin_expect to generic __ieee754_log 2011-10-21 12:28:42 -04:00
Ulrich Drepper
1a97a8c78f Don't use NULL in last s_fma{,f} change 2011-10-21 07:39:28 -04:00
Ulrich Drepper
ed72b6545f Check for FMA4 support and generate appropriate fma functions 2011-10-20 22:43:15 -04:00
Ulrich Drepper
8d4f46c613 Move fma routines to right place 2011-10-20 21:55:41 -04:00
Ulrich Drepper
855d156018 Optimize x86-64 rawmemchr and add test 2011-10-19 22:22:29 -04:00
Ulrich Drepper
d9a4d2ab27 Add optimized str{,n}casecmp for AVX on x86-64 2011-10-19 12:42:38 -04:00
Andreas Schwab
8f3b1ffefa Fix PLT use for feraiseexcept on x86_64 2011-10-19 13:03:31 +02:00
Ulrich Drepper
d9a8d0abcc Use new internal libc_fe* interfaces in more functions 2011-10-18 15:11:31 -04:00
Ulrich Drepper
4855e3ddf5 Provide combined internal feholdexcept/fesetround interface 2011-10-18 09:59:04 -04:00
Ulrich Drepper
23ce562780 Pretty print last change to x86-64 mathinline.h 2011-10-18 09:38:47 -04:00
Ulrich Drepper
581d30e386 Add optimized nearbyint{,f} for x86-64 2011-10-18 09:13:23 -04:00
Ulrich Drepper
d38f1dba00 Start optimizing the use of the fenv interfaces in libm itself 2011-10-18 09:00:46 -04:00
Andreas Schwab
83c7615c2d Fix last change 2011-10-18 14:11:29 +02:00
Andreas Schwab
caa6c9d845 Fix linkage conflict with feraiseexcept 2011-10-18 11:46:51 +02:00
Ulrich Drepper
99ce7b04ed Small optimization of generic exp2 2011-10-17 23:16:34 -04:00
Ulrich Drepper
1004d1821e Add optimized 64-bit frexp 2011-10-17 22:30:44 -04:00
Ulrich Drepper
228a984d54 Relax asm requirements for recently added x86-64 math interfaces 2011-10-17 20:30:52 -04:00
Ulrich Drepper
c8553a6a6f Makr x86-64 math_private.h more robust 2011-10-17 16:00:39 -04:00
Ulrich Drepper
ed22dcf691 Provide internal optimizations on x86-64 with SSE4.1
Provide macros so that the internal users can, if possible, directly use
the new instructions.

Also fix up the mathinline.h header when compiling with SSE4.1 enabled.
2011-10-17 11:23:40 -04:00
Ulrich Drepper
b171c13768 Fix last x86-64 mathinline change
Use correct function names.
2011-10-17 10:37:00 -04:00
Ulrich Drepper
ad0f5cad15 Use rounds{s,d} for x86 rint, ceil, floor 2011-10-16 20:58:17 -04:00
Ulrich Drepper
79b195b55a No need for boundary case handling in x86-32 __ieee_log 2011-10-15 22:21:53 -04:00
Ulrich Drepper
d4a285692a Optimized floor for 64-bit architectures 2011-10-15 21:44:45 -04:00
Ulrich Drepper
b61099b50a Add cosh optimized for 64-bit architectures 2011-10-15 20:47:01 -04:00
Ulrich Drepper
bcf01e6d80 Optimize exp
Add __exp*_finite optimizations and rewrite some wrappers.
2011-10-15 20:22:59 -04:00
Ulrich Drepper
ba1a0d5938 No need for boundary case handling in x86-32 __ieee_logf 2011-10-15 18:09:12 -04:00
Ulrich Drepper
fd5bdc0924 Optimize access to isXYZ and toXYZ tables
The functions to get the pointers can now depend on the TLS variable
be initialized.
2011-10-15 16:27:08 -04:00
Ulrich Drepper
2d1f3a4db6 Fix WS 2011-10-15 11:11:12 -04:00
Liubov Dmitrieva
be13f7bff6 Optimized memcmp and wmemcmp for x86-64 and x86-32 2011-10-15 11:10:08 -04:00
Ulrich Drepper
38ad40ceca Optimize x86-32 log 2011-10-14 23:41:47 -04:00
Andreas Schwab
349290c00a Adjust s390 libm ULPs 2011-10-14 11:41:06 +02:00
Andreas Schwab
6b1f68c91f Fix lost feraiseexcept symbol 2011-10-14 11:21:23 +02:00
Andreas Schwab
714fad23c6 Fix PLT use in feupdateenv on x86_64 2011-10-13 15:26:45 +02:00
Andreas Schwab
81dcc7fb74 Check for zero size in memrchr for x86_64 2011-10-13 13:34:41 +02:00
Ulrich Drepper
f9e123204e Fix whitespaces 2011-10-12 11:42:57 -04:00
Liubov Dmitrieva
951fbcec70 Optimized memchr, memrchr, rawmemchr for x86-32 2011-10-12 11:42:04 -04: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
12cc2fcdb4 Implement __isinf_nsl for IBM long double 2011-10-10 21:39:59 +02:00
Roland McGrath
5060422095 Conditionalize unnecessary #include. 2011-10-08 15:28:21 -07:00
Roland McGrath
c658d255e9 Fix some nit warnings. 2011-10-08 15:25:08 -07:00
Ulrich Drepper
7edb55ce06 Optimize use of isnan, isinf, finite 2011-10-08 10:18:26 -04:00
Ulrich Drepper
66fb11b1da Fix whitespace 2011-10-07 11:50:21 -04:00
Liubov Dmitrieva
093ecf9299 Improve 64 bit memchr, memrchr, rawmemchr with SSE2 2011-10-07 11:49:10 -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
bf972c9dfc Fix parse error in bits/mathinline.h with --std=c99 2011-09-26 14:01:30 +02:00
Roland McGrath
ecb1482ffd Clean up disabling of script_execute 2011-09-19 12:50:25 -07:00
Ulrich Drepper
88738eb6e9 finite for 64-bit platforms 2011-09-15 23:01:56 -04:00
Ulrich Drepper
2840865d5a Define IP_MULTICAST_ALL 2011-09-15 18:09:53 -04:00
Roland McGrath
b402e91af4 Use HIDDEN_JUMPTARGET rather than spelling out its effects, for ____longjmp_chk implementations. 2011-09-15 12:26:08 -07:00
Ulrich Drepper
4d8e1f1195 Merge branch 'master' of ssh://sourceware.org/git/glibc
Conflicts:
	ChangeLog
2011-09-15 13:12:25 -04:00
Ulrich Drepper
4c1a1f71c0 Add fmax and fmin inlines for x86-64 2011-09-15 13:11:08 -04:00
Andreas Schwab
edc121be8b Fix PLT uses in libm on powerpc 2011-09-15 15:35:38 +02:00
Ulrich Drepper
ee4d03150a Use correct section to allow merging 2011-09-14 13:43:24 -04:00
Ulrich Drepper
cd20565401 Optimized lrint and llrint for x86-64 2011-09-14 12:58:43 -04:00
Andreas Schwab
1ae12c758f Fix undefined symbol in powerpc64 dl-machine.h 2011-09-13 20:01:15 +02:00
Andreas Schwab
e529793b50 Avoid macro clash between <sys/select.h> and <linux/posix_types.h> 2011-09-13 15:16:38 +02:00
Ulrich Drepper
8682f8b0e4 Optimize logb code for 64-bit machines 2011-09-12 16:21:24 -04:00
Andreas Schwab
a7c8e6a147 Fix invalid conversion in __cmsg_nxthdr 2011-09-12 15:48:12 +02:00
Ulrich Drepper
773523e08d Merge branch 'master' of ssh://sourceware.org/git/glibc 2011-09-11 15:02:32 -04:00
Ulrich Drepper
83cd142045 Remove --wth-tls option, TLS support is required 2011-09-11 15:02:01 -04:00
Andreas Schwab
0f31fe7791 Prepend $(..) to $(ldd-rewrite-script) if non-absolute 2011-09-11 20:34:57 +02:00
Ulrich Drepper
02d46fc4b9 Simplify malloc initialization
Singificantly reduce the code needed at malloc initialization.  In
the process getpagesize is simplified by always initializing
GLRO(dl_pagesize).
2011-09-10 21:47:36 -04:00
Ulrich Drepper
d063d16433 Remove support for !USE___THREAD 2011-09-10 16:50:28 -04:00
Petr Baudis
1248c1c415 Fix jn precision 2011-09-09 22:16:10 -04:00
Ulrich Drepper
f19009c155 Use (void*) instead of 0 for return value pointer in __cmsg_nexthdr 2011-09-09 21:46:08 -04:00