Commit Graph

1003 Commits

Author SHA1 Message Date
Ondřej Bílka
382466e04e Fix typos. 2013-08-30 18:08:59 +02:00
Ondřej Bílka
0186c6e97e Fix rawmemchr regression on bulldozer. 2013-08-30 10:14:37 +02:00
Ondřej Bílka
c0c3f78afb Fix typos. 2013-08-21 19:48:48 +02:00
Jeroen Albers
72c90ed01f Update x86 and x86_64 ulps on AMD FX-8350 with GCC 4.8.1. 2013-07-05 12:58:20 +00:00
Markus Trippelsdorf
5314ed1afd Update x86_64 ULPs. 2013-07-02 22:01:13 +00:00
Joseph Myers
67338156ea Regenerate x86 and x86_64 ulps. 2013-07-02 20:01:15 +00:00
Liubov Dmitrieva
6308fd9a46 Skip SSE4.2 versions on Intel Silvermont
SSE2/SSSE3 versions are faster than SSE4.2 versions on Intel Silvermont.
2013-06-28 15:31:40 -07:00
Liubov Dmitrieva
11b8a0e1d7 Fix buffers overrun in x86_64 memcmp-ssse3.S 2013-06-26 12:31:51 -07:00
Liubov Dmitrieva
d086fc7ba0 Set fast unaligned load flag for new Intel microarchitecture
I have small patch for new Intel Silvermont machines.

http://newsroom.intel.com/community/intel_newsroom/blog/2013/05/06/intel-launches-low-power-high-performance-silvermont-microarchitecture

I checked this on my machine and see that strcpy, ... unaligned
versions are faster than ssse3 versions.
2013-06-14 20:46:15 +02:00
Siddhesh Poyarekar
747ef469ff Add rtld-memset.S for x86_64
Resolves: BZ #15627

Add an assembler version of rtld-memset to avoid using SSE registers.
2013-06-15 00:09:26 +05:30
Joseph Myers
9c84384cc1 Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
Siddhesh Poyarekar
b937534868 Avoid crashing in LD_DEBUG when program name is unavailable
Resolves: #15465

The program name may be unavailable if the user application tampers
with argc and argv[].  Some parts of the dynamic linker caters for
this while others don't, so this patch consolidates the check and
fallback into a single macro and updates all users.
2013-05-29 21:34:12 +05:30
Joseph Myers
dd4259b9f7 Test drem and pow10 in libm-test.inc. 2013-05-24 20:33:14 +00:00
Joseph Myers
4f8dfe270b Use same tests for isfinite/finite, lgamma/gamma. 2013-05-24 19:21:22 +00:00
Joseph Myers
b50a71810b Don't include expected results in libm-test test names. 2013-05-22 11:49:36 +00:00
Ondrej Bilka
b2b671b677 Faster memset on x64
This implementation speed up memset in several ways. First is avoiding
expensive computed jump. Second is using fact that arguments of memset
are most of time aligned to 8 bytes.

Benchmark results on:
kam.mff.cuni.cz/~ondra/benchmark_string/memset_profile_result27_04_13.tar.bz2
2013-05-20 08:32:45 +02:00
Ondrej Bilka
2d48b41c8f Faster memcpy on x64.
We add new memcpy version that uses unaligned loads which are fast
on modern processors. This allows second improvement which is avoiding
computed jump which is relatively expensive operation.

Tests available here:
http://kam.mff.cuni.cz/~ondra/memcpy_profile_result27_04_13.tar.bz2
2013-05-20 08:24:41 +02:00
Joseph Myers
db62a90753 Handle sincos with generic libm-test logic. 2013-05-19 14:45:41 +00:00
Ryan S. Arnold
e054f49430 Add #include <stdint.h> for uint[32|64]_t usage (except installed headers). 2013-05-16 11:32:54 -05:00
Peter Collingbourne
1deff3dca1 Use movq for 64-bit operations
The EXTRACT_WORDS64 and INSERT_WORDS64 macros use movd for a 64-bit
operation.  Somehow gcc manages to turn this into movq, but LLVM won't.

2013-05-15  Peter Collingbourne  <pcc@google.com>

	* sysdeps/x86_64/fpu/math_private.h (MOVQ): New macro.
	(EXTRACT_WORDS64) Use where appropriate.
	(INSERT_WORDS64) Likewise.
2013-05-15 20:33:45 +02:00
Peter Collingbourne
791f3ba0db Use x constraints for operands to vfmaddss and vfmaddsd
While these instructions accept memory operands, only one operand
may be a memory operand.  Giving two operands xm constraints gives
the compiler the option of using memory for both operands, which
would result in invalid assembly code.  Using x for all operands is
more appropriate, as most x86_64 calling conventions will pass the
arguments in registers anyway.

2013-05-15  Peter Collingbourne  <pcc@google.com>

	* sysdeps/x86_64/fpu/multiarch/s_fma.c (__fma_fma4): Replace xm
	constraints with x constraints.
	* sysdeps/x86_64/fpu/multiarch/s_fmaf.c (__fmaf_fma4): Likewise.
2013-05-15 20:31:53 +02:00
Joseph Myers
d8cd06db62 Improve tgamma accuracy (bugs 2546, 2560, 5159, 15426). 2013-05-08 11:58:18 +00:00
Joseph Myers
10de07f5fd Fix catan, catanh spurious underflows (bug 15423). 2013-05-01 10:07:00 +00:00
Joseph Myers
caf84319c1 Fix catan, catanh inaccuracy from atan2 denominators near 0 (bug 15416). 2013-04-30 11:27:35 +00:00
Joseph Myers
5b4217d71f Fix catan, catanh spurious overflows (bug 15409). 2013-04-27 14:57:41 +00:00
Markus Trippelsdorf
1b8359836d Update x86_64 ULPs
2013-04-26  Markus Trippelsdorf  <markus@trippelsdorf.de>

	* sysdeps/x86_64/fpu/libm-test-ulps: Update.
2013-04-26 09:30:46 +02:00
Joseph Myers
73709b2611 Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
Joseph Myers
2f38fbfe09 Fix catan, catanh inaccuracy through use of log (bug 15394). 2013-04-24 18:49:13 +00:00
Carlos O'Donell
aba5e333d4 libm-test.inc: Fix tests where cos(PI/2) != 0.
The value of PI is never exactly PI in any floating point representation,
and the value of PI/2 is never PI/2. It is wrong to expect cos(M_PI_2l)
to return 0, instead it will return an answer that is  non-zero because
M_PI_2l doesn't round to exactly PI/2 in the type used.

That is to say that the correct answer is to do the following:
* Take PI or PI/2.
* Round to the floating point representation.
* Take the rounded value and compute an infinite precision cos or sin.
* Use the rounded result of the infinite precision cos or sin as the
  answer to the test.

I used printf to do the type rounding, and Wolfram's Alpha to do the
infinite precision cos calculations.

The following changes bring x86-64 and x86 to 1/2 ulp for two tests.
It shows that the x86 cos implementation is quite good, and that
our test are flawed.

Unfortunately given that the rounding errors are type dependent we
need to fix this for each type. No regressions on x86-64 or x86.

---

2013-04-11  Carlos O'Donell  <carlos@redhat.com>

	* math/libm-test.inc (cos_test): Fix PI/2 test.
	(sincos_test): Likewise.
	* sysdeps/x86_64/fpu/libm-test-ulps: Regenerate.
	* sysdeps/i386/fpu/libm-test-ulps: Regenerate.
2013-04-11 08:52:18 -04:00
Joseph Myers
52ce486045 Fix cacosh inaccuracy and spurious exceptions (bug 15327). 2013-04-02 22:54:00 +00:00
Joseph Myers
ccc8cadf75 Fix casinh inaccuracy for imaginary part < 1.0, real part small (bug 10357). 2013-03-30 13:31:53 +00:00
Joseph Myers
3a7182a14b Fix casinh inaccuracy near i, imaginary part > 1 (bug 15307). 2013-03-27 14:38:44 +00:00
Dmitry V. Levin
2e0fb52187 BZ#11120: fix x86_64/strcmp.S NOT_IN_libc safeguards
Due to a typo repeated several times, this bug hasn't been fixed yet,
despite being marked as resolved in glibc 2.12.

* sysdeps/x86_64/strcmp.S: Replace all occurrences of NOT_IN_lib
with NOT_IN_libc.
2013-03-22 03:16:00 +00:00
Joseph Myers
0a1b2ae6f6 Fix casinh inaccuracy for argument with imaginary part 1 (bug 15287). 2013-03-21 10:27:10 +00:00
Joseph Myers
bef0b50749 Move system-specific settings out of toplevel configure.in and config.make.in. 2013-03-20 22:37:06 +00:00
Ondrej Bilka
37bb363f03 Faster strlen on x64. 2013-03-18 07:39:12 +01:00
Joseph Myers
d2f9799e7c Fix y1l spurious overflows for ldbl-96 (bug 15283). 2013-03-16 17:51:48 +00:00
Joseph Myers
06d5adfbda Regenerate sysdeps/x86_64/preconfigure. 2013-03-15 01:18:32 +00:00
Ondrej Bilka
80f844c9d8 Remove Prefer_SSE_for_memop on x64 2013-03-11 15:39:08 +01:00
Ondrej Bilka
87bd9bc4bd Revert " * sysdeps/x86_64/strlen.S: Replace with new SSE2 based implementation"
This reverts commit b79188d717.
2013-03-06 22:27:18 +01:00
Ondrej Bilka
b79188d717 * sysdeps/x86_64/strlen.S: Replace with new SSE2 based implementation
which is faster on all x86_64 architectures.
	Tested on AMD, Intel Nehalem, SNB, IVB.
2013-03-06 21:54:01 +01:00
Joseph Myers
2969121014 Remove bounded-pointers handling from x86_64 assembly sources. 2013-02-17 21:57:26 +00:00
Siddhesh Poyarekar
d6752ccd69 New __sqr function as a faster special case of __mul 2013-02-14 10:31:09 +05:30
Roland McGrath
f1d70dad53 Remove lots of inline keywords. 2013-02-07 14:44:18 -08:00
Joseph Myers
8cf28c5ebe Fix casinh spurious underflows away from [-i,i] (bug 15062). 2013-01-31 22:55:29 +00:00
Joseph Myers
728d7b43fc Fix cacos real-part inaccuracy for result real part near 0 (bug 15023). 2013-01-17 20:25:51 +00:00
H.J. Lu
22676eafed Implement x86 SIZE32/SIZE64 relocations 2013-01-16 20:31:03 -08:00
Joseph Myers
a9708fed77 Fix casinh, casin overflow (bug 14996). 2013-01-07 14:59:53 +00:00
H.J. Lu
afec409af9 Change __x86_64 prefix in cache size to __x86 2013-01-05 16:00:38 -08:00
Joseph Myers
cdc1c96fba Fix casinh, casin inaccuracy from cancellation (bug 14994). 2013-01-04 13:25:17 +00:00
H.J. Lu
5d7dd1ca84 Add HAS_RTM 2013-01-03 09:38:20 -08:00
Joseph Myers
568035b787 Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
Siddhesh Poyarekar
b76eb5f076 Move mpone out to a global const
Code cleanup.
2012-12-27 20:43:24 +05:30
Joseph Myers
1bead169c3 Fix powl inaccuracy for x86_64 and x86 (bug 13881). 2012-11-28 13:40:54 +00:00
H.J. Lu
c515fb5148 Cast to __intptr_t before casting pointer to int64 2012-11-26 16:45:36 -08:00
Pino Toscano
94558d30b1 test-multiarch: terminate printf output with newline 2012-11-22 11:34:03 +01:00
David S. Miller
6d33cc9d9b Fix spurious underflows in ldbl-128 atan implementation.
With help from Joseph Myers.
	* sysdeps/ieee754/ldbl-128/s_atanl.c (__atanl): Handle tiny and
	very large arguments properly.
	* math/libm-test.inc (atan_test): New tests.
	(atan2_test): New tests.
	* sysdeps/sparc/fpu/libm-test-ulps: Update.
	* sysdeps/x86_64/fpu/libm-test-ulps: Update.
2012-11-19 15:31:24 -08:00
David S. Miller
05b227bdae Correct tinyness handling in long-double and float y0/y1.
With help from Joseph Myers.
	* sysdeps/ieee754/flt-32/e_j0f.c (__ieee754_y0f): Adjust tinyness
	cutoff to 2**-13.
	* sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_y1f): Adjust tinyness
	cutoff to 2**-25.
	* sysdeps/ieee754/ldbl-128/e_j0l.c (U0): New constant.
	( __ieee754_y0l): Avoid arithmetic underflow when 'x' is very
	small.
	* sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_y1l): Likewise.
	* math/libm-test.inc (y0_test): New tests.
	(y1_test): New tests.
	* sysdeps/i386/fpu/libm-test-ulps: Update.
	* sysdeps/x86_64/fpu/libm-test-ulps: Update.
	* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-11-18 12:33:53 -08:00
H.J. Lu
eb48db7e89 Also run tst-xmmymm.sh on i386 ld.so 2012-11-07 13:50:08 -08:00
Joseph Myers
60e235ee2a Fix spurious underflows from pow with results close to 1 (bug 14811). 2012-11-07 13:03:31 +00: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
H.J. Lu
f62c8abcfb Compile x86 rtld with -mno-sse -mno-mmx 2012-11-02 18:43:27 -07:00
H.J. Lu
954ef0d98d Use sysdeps/x86/tininess.h for i386 and x86_64 2012-10-30 20:38:31 -07:00
Joseph Myers
2a27fd6dae Fix strtod handling of underflow (bug 14047). 2012-10-30 13:51:27 +00:00
H.J. Lu
ac49ecaf9d Add x86-64 __libc_ifunc_impl_list 2012-10-11 16:41:12 -07:00
H.J. Lu
9a387d1f78 Use IFUNC memmove/memset in x86-64 bcopy/bzero
Also add separate tests for bcopy and bzero.
2012-10-11 13:58:16 -07:00
Roland McGrath
b8493de0ec Add missing magic to GLIBC_PROVIDES. 2012-10-09 15:41:30 -07:00
H.J. Lu
0569936773 Define HAS_FMA with bit_FMA_Usable 2012-10-02 05:05:17 -07:00
H.J. Lu
9bac1d8624 Define VERSYMIDX/VALIDX/ADDRIDX in ldsodefs.h 2012-09-28 11:30:57 -07:00
H.J. Lu
31ed415328 Don't define x86-64 __strncmp_ssse3 in libc.a 2012-09-27 07:43:03 -07:00
Markus Trippelsdorf
43c4edba7e Update x86-64 ULPs 2012-09-26 12:46:51 +02:00
Joseph Myers
d032e0d29b Fix inaccuracy of clog, clog10 near |z| = 1 (bug 13629). 2012-09-25 19:43:49 +00:00
Liubov Dmitrieva
22bf5c1793 Add optimized sincosf for SSE2 for x86 and x86-64 2012-09-25 20:47:20 +02:00
Dmitry V. Levin
57c69bef13 Set "fail on error" mode directly in testsuite shell scripts 2012-09-25 02:48:31 +00:00
Dmitry V. Levin
9a9028b1fe Add copyright notices to testsuite shell scripts 2012-09-25 02:48:13 +00:00
Liubov Dmitrieva
80ccd52c95 Fix x86 SSE cosf, sinf issues
* sysdeps/i386/i686/fpu/multiarch/s_sinf-sse2.S: Fix
	unwind info if defined PIC. Fix special cases description.
	* sysdeps/i386/i686/fpu/multiarch/s_cosf-sse2.S: Likewise.

	* sysdeps/x86_64/fpu/s_sinf.S: Fix special cases description, fix
	DP_HI_MASK entry.
	* sysdeps/x86_64/fpu/s_cosf.S: Likewise.
2012-09-10 11:44:49 +02:00
Andreas Jaeger
bcd6c8dc64 Update libm-test-ulps 2012-09-03 15:43:56 +02:00
Liubov Dmitrieva
4ffffbd272 Add optimized sinf and cosf routines for x86 and x86-64
* sysdeps/i386/i686/fpu/multiarch/Makefile (sysdep_routines):
	Add s_sinf-sse2, s_conf-sse2.

	* sysdeps/i386/i686/fpu/multiarch/s_sinf-sse2.S: New file.
	* sysdeps/i386/i686/fpu/multiarch/s_cosf-sse2.S: New file.
	* sysdeps/i386/i686/fpu/multiarch/s_sinf.c: New file.
	* sysdeps/i386/i686/fpu/multiarch/s_cosf.c: New file.

	* sysdeps/ieee754/flt-32/s_sinf.c (SINF, SINF_FUNC): Add macros
	for using routine as __sinf_ia32.
	Use macro for function declaration and weak_alias.
	* sysdeps/ieee754/flt-32/s_cosf.c (COSF, COSF_FUNC): Add macros
	for using routine as __cosf_ia32.
	Use macro for function declaration and weak_alias.

	* sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.S: Fix Copyright.
	* sysdeps/i386/i686/fpu/multiarch/e_expf.c: Fix Copyright.

	* sysdeps/x86_64/fpu/s_sinf.S: New file.
	* sysdeps/x86_64/fpu/s_cosf.S: New file.
	* sysdeps/x86_64/fpu/libm-test-ulps: Update.

	* math/libm-test.inc (cos_test): Add more test cases.
	(sin_test): Likewise.
	(sincos_test): Likewise.
2012-09-03 15:32:13 +02:00
H.J. Lu
5f30cfec00 Use the first element of GOT for ld.so addresses
[BZ #14538]
	* sysdeps/x86_64/dl-machine.h (elf_machine_dynamic): Use the
	first element of the GOT.
	(elf_machine_load_address): Return the difference between
	the runtime address of _DYNAMIC and elf_machine_dynamic ().
2012-09-02 05:22:24 -07:00
Roland McGrath
7312ca90dc Clean up x86_64/multiarch/strstr-c.c include order. 2012-08-15 11:38:57 -07:00
Roland McGrath
9a0a54864b Clean up x86_64/multiarch/memmove.c include order. 2012-08-15 11:26:02 -07:00
Mike Frysinger
ca98e1710e i386/x86_64: punt HAVE_CPP_ASM_DEBUGINFO
Pretty sure we require recent enough versions of gcc/binutils to make this
check pointless.  I can't any logs in the last few years where this check
didn't return "yes".

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-08-14 21:37:00 -04:00
Markus Trippelsdorf
ba6cba9eec Update x86-64 ULPs
The recent clog and clog10 fixes are causing some failing tests on my
AMD64 CPU.
2012-08-13 21:25:17 +02:00
H.J. Lu
f85fa27058 Avoid DWARF definition DIE on ifunc symbols 2012-08-09 16:04:37 -07:00
Marek Polacek
b67e9372b2 Get rid of ASM_TYPE_DIRECTIVE{,_PREFIX}. 2012-08-02 21:04:29 +02:00
Joseph Myers
d0419dbfbd Improve clog, clog10 handling of values with real or imaginary part slightly above 1 (bug 13629). 2012-07-31 14:21:19 +00:00
Joseph Myers
da865e95bc Improve clog, clog10 handling of values with real or imaginary part 1 (bug 13629). 2012-07-26 11:31:35 +00: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
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
Marek Polacek
7b8e0d49cb Get rid of ASM_GLOBAL_DIRECTIVE. 2012-07-10 14:30:24 +02:00
Joseph Myers
638a572eb0 Fix clog, clog10 spurious underflow exceptions (bug 14337). 2012-07-09 11:06:34 +00:00
Joseph Myers
f17ac40d7c Fix expm1 spurious underflow exceptions (bug 6778). 2012-07-06 11:17:41 +00:00
Joseph Myers
cdfe2c5eb3 Fix csqrt underflow (bugs 14157, 14331). 2012-07-05 11:02:13 +00:00
Joseph Myers
ca61cf32d9 Fix ctan, ctanh of subnormals in round-upwards mode (bug 14328). 2012-07-04 09:55:26 +00:00
H.J. Lu
a2f34833b1 Use x86-64 fpu_control.h for i386 and x86_64 2012-06-18 11:43:51 -07:00
H.J. Lu
3ee947b124 Use __volatile__ to access fpu control word 2012-06-18 11:09:58 -07:00
H.J. Lu
25f1282ae5 Use i386 bits/mathinline.h for i386 and x86_64 2012-06-15 13:56:26 -07:00
H.J. Lu
49bdf4c19d Use RAX_LP/RDX_LP on SAVE_PTR in x86_64 strtok.S 2012-06-14 10:00:28 -07:00
H.J. Lu
c08010c7cd Use x86_64 fpu/bits/fenv.h for i386 and x86_64 2012-06-06 10:13:19 -07:00
H.J. Lu
a728a38fb6 Check __SSE_MATH__ in x86_64 feraiseexcept 2012-06-06 10:11:14 -07:00
H.J. Lu
0e4a3cd708 Use i486 bits/string.h for i386 and x86_64 2012-06-04 13:45:43 -07:00
H.J. Lu
0bd5398534 Use x86_64/bits/xtitypes.h for i386/x86-64 2012-05-30 17:26:11 -07:00
H.J. Lu
3a257e668e Use x86_64 bits/wordsize.h for both i386/x86_64 2012-05-30 17:25:23 -07:00
H.J. Lu
404fe9d90e Use x86_64 bits/select.h for i386/x86_64 2012-05-30 15:49:31 -07:00
H.J. Lu
d48d04460a Use x86_64 bits/setjmp.h for i386/x86_64 2012-05-30 15:43:34 -07:00
H.J. Lu
7dc00e0d3c Use x86_64 bits/mathdef.h for i386/x86_64 2012-05-30 15:42:28 -07:00
H.J. Lu
6bd976963f Use x86_64 bits/{link.h,linkmap.h} for i386/x86_64 2012-05-30 15:21:55 -07:00
H.J. Lu
f726f0bb75 Use the same bits/endian.h for i386/x86_64 2012-05-30 14:50:32 -07:00
H.J. Lu
13764867fe Use x86-64 bits/byteswap.h for both i386 and x86_64 2012-05-30 14:13:18 -07:00
H.J. Lu
0ab0291b84 Convert WORDSIZE[32|64]/ld entries to abi-variants 2012-05-30 08:33:26 -07:00
Roland McGrath
8422c9a560 Add systemtap static probe points in setjmp/longjmp on x86. 2012-05-25 13:41:03 -07:00
H.J. Lu
cfba4fda12 Add x32 C++ type data 2012-05-24 11:18:30 -07:00
Joseph Myers
795405f956 Don't include exceptions in libm-test-ulps test names. 2012-05-24 12:14:03 +00:00
Joseph Myers
80bad0ccae Test underflow exceptions in libm-test.inc. 2012-05-24 11:26:36 +00:00
H.J. Lu
20c07380db Rename __WORDSIZE_COMPAT32 to __WORDSIZE_TIME64_COMPAT32 2012-05-21 13:39:55 -07:00
Roland McGrath
6c7fb1458d x32: Don't lose high bits of %rbp in setjmp/longjmp mangling/demangling. 2012-05-21 13:04:11 -07:00
H.J. Lu
61f65140eb Define __SYSCALL_WORDSIZE for x86-64 2012-05-21 11:45:16 -07:00
Joseph Myers
e0b16cc25c Fix ccos, csin, ccosh, csinh overflows (bug 14123). 2012-05-19 15:35:29 +00:00
H.J. Lu
6ad13e088d Add a comment to sysdeps/x86_64/x32/_itoa.h 2012-05-19 06:46:29 -07:00
H.J. Lu
610b86225e Add sysdeps/x86_64/x32/_itoa.h 2012-05-18 07:37:55 -07:00
Andreas Jaeger
7a185db2b7 Do not provide inlines for GCC build-in functions 2012-05-18 09:08:14 +02:00
H.J. Lu
2e4c1e9edb Cast to unsigned long 2012-05-17 12:44:52 -07:00
H.J. Lu
477cc68e90 Add tst-mallocalign1 2012-05-17 09:55:25 -07:00
Carlos O'Donell
1a0994f535 BZ#14059: Fix AVX and FMA4 detection.
Fix AVX and FMA4 detection by following the guidelines
set out by Intel and AMD for detecting these features.
2012-05-17 06:59:28 -07:00
H.J. Lu
953ca31a0c Add x32 gmp-mparam.h 2012-05-16 11:54:57 -07:00
H.J. Lu
617aca05db Add x32 ffs 2012-05-16 11:54:56 -07:00
H.J. Lu
48baa5f1d1 Add dummy files for x32 2012-05-16 10:24:02 -07:00
Joseph Myers
a9538892ad Split up stackguard-macros.h into sysdeps directories. 2012-05-15 23:34:30 +00:00
H.J. Lu
9317101683 Add x86_64 Implies-after files 2012-05-15 14:38:32 -07:00
H.J. Lu
d86813a021 Use R*_LP to call _dl_profile_fixup and frame size 2012-05-15 14:24:00 -07:00
H.J. Lu
3b550e9e48 Add sysdeps/x86_64/x32/sysdep.h 2012-05-15 12:49:42 -07:00
H.J. Lu
eda4170670 Use R*_LP on SP and PC in __longjmp.S and setjmp.S 2012-05-15 12:46:04 -07:00
H.J. Lu
be8498fca0 Use RSP_LP to operate on stack in stackinfo.h 2012-05-15 10:00:56 -07:00
H.J. Lu
70bc83b910 Load pointers into RAX_LP in strcmp-sse42.S 2012-05-15 09:59:31 -07:00
H.J. Lu
9bc0b730a6 Load cache sizes into R*_LP in memcpy-ssse3.S 2012-05-15 09:58:28 -07:00
H.J. Lu
6d2850e7f5 Load cache sizes into R*_LP in memcpy-ssse3-back.S 2012-05-15 09:56:17 -07:00
H.J. Lu
3cb845617b Load pointers into R*_LP in strcmp.S 2012-05-15 09:54:05 -07:00
H.J. Lu
54e2ed8105 Load cache sizes into R11_LP/R8_LP 2012-05-15 09:52:35 -07:00
H.J. Lu
8a17f34979 Load cache size into R8_LP 2012-05-15 09:35:43 -07:00
H.J. Lu
6cdef1ab36 Update sysdeps/x86_64/start.S for x32 2012-05-14 17:50:41 -07:00
H.J. Lu
0b254d8f3d Add sysdeps/x86_64/{64,x32}/shlib-versions 2012-05-14 16:23:57 -07:00
H.J. Lu
11de3a3371 Update elf_machine_load_address for x32 2012-05-14 15:17:30 -07:00
H.J. Lu
520ae0fd0b Define LP_SIZE/LP_OP/ASM_ADDR/RXX_LP for x86-64 2012-05-14 14:56:07 -07:00
H.J. Lu
b985be81fa Add x32 dl-machine.h 2012-05-14 13:21:46 -07:00
H.J. Lu
1cf463cd4e Check if RTLD_SAVESPACE_SSE is aligned to 32 bytes 2012-05-11 11:50:11 -07:00
H.J. Lu
0a10fb9eec Don't handle R_X86_64_RELATIVE64 in ld.so 2012-05-10 19:24:54 -07:00
H.J. Lu
df8a552f6f Handle R_X86_64_RELATIVE64 and R_X86_64_64 for x32 2012-05-10 17:05:06 -07:00
Roland McGrath
b5c086a281 Typo fix in x86_64/dl-machine.h 2012-05-10 10:20:51 -07:00
H.J. Lu
c8c59454ea Sign extend R_X86_64_DTPOFF64/R_X86_64_TPOFF64 2012-05-10 10:05:40 -07:00
Andreas Jaeger
bdd74070cc Add volatiles for x86-64 bits/mathinline.h
[BZ #14053]
GCC 4.7 might remove consecutive calls to e.g. lrintf since
the assembler instructions are the same and GCC does not know
that the result is different depending on the rounding mode.  For
SSE instructions, the control register is not available so there
is no way to inform GCC about this. Therefore the asms are marked
as volatile.
2012-05-09 20:17:21 +02:00
H.J. Lu
4b30f61a1e Replace Elf64_XXX/ELF64_R_TYPE with ElfW(XXX)/ELFW(R_TYPE) 2012-05-08 09:39:58 -07:00
Joseph Myers
495fd99f3a Fix x86/x86_64 expm1l inaccuracy and exceptions (bugs 13885, 13923). 2012-05-07 19:13:08 +00:00
Joseph Myers
d8b82cad1b Fix exp10 inaccuracy and exceptions (bugs 13884, 13914). 2012-05-06 18:23:44 +00:00
Andreas Jaeger
d7cf87a64e Update x86-64 libm-test-ulps 2012-05-06 09:32:12 +02:00
Joseph Myers
41498f4db1 Fix missing exceptions from exp (bugs 13787, 13922, 14036). 2012-05-05 19:37:39 +00:00
Joseph Myers
6698b8bf43 Use .S sources for x86/x86_64 expl. 2012-05-05 19:34:31 +00:00
Joseph Myers
adfbc8ac9e Fix x86 acos near 1 (bug 13942). 2012-04-30 18:56:39 +00:00
Joseph Myers
5ba3cc691c Fix acos (-1) in round-downwards mode on x86 (bug 14034). 2012-04-30 09:38:06 +00:00
Markus Trippelsdorf
8280f22d30 Update sysdeps/x86_64/fpu/libm-test-ulps
[BZ #13927]
	* sysdeps/x86_64/fpu/libm-test-ulps: Update.
2012-04-21 14:14:27 +02:00
Andreas Schwab
fb5e92c979 Remove useless __ilogb*_finite aliases 2012-04-18 00:40:13 +02:00
Adhemerval Zanella
76da726532 Fix ilogb exception and errno (bug 6794)
[BZ #6794]
Following Joseph comments about bug 6794, here is a proposed fix. It turned out
to be a large fix mainly because I had to move some file along to follow libm
files/names conventions.

Basically I have added wrappers (w_ilogb.c, w_ilogbf.c, w_ilogbl.c) that now calls
the symbol '__ieee754_ilogb'. The wrappers checks for '__ieee754_ilogb' output and
set the errno and raise exceptions as expected.

The '__ieee754_ilogb' is implemented in sysdeps. I have moved the 's_ilogb[f|l]' files
to e_ilogb[f|l] and renamed the '__ilogb[f|l]' to '__ieee754_ilogb[f|l]'.

I also found out a bug in i386 and x86-64 assembly coded ilogb implementation where
it raises a FE_DIVBYZERO when argument is '0.0'. I corrected this issue as well.

Finally I added the errno and FE_INVALID tests for 0.0, NaN and +-InF argument. Tested
on i386, x86-64, ppc32 and ppc64.
2012-04-17 22:12:53 +02:00
H.J. Lu
34a27407f4 Check __ILP32__ instead of __LP64__
* elf/tst-auditmod1.c: Check __ILP32__ instead of __LP64__.
	* elf/tst-auditmod3b.c: Likewise.
	* elf/tst-auditmod4b.c: Likewise.
	* elf/tst-auditmod5b.c: Likewise.
	* elf/tst-auditmod6b.c: Likewise.
	* elf/tst-auditmod6c.c: Likewise.
	* elf/tst-auditmod7b.c: Likewise.
	* sysdeps/x86_64/ffsll.c (ffsl): Likewise.
	* sysdeps/x86_64/preconfigure.in: Likewise.
	* sysdeps/x86_64/preconfigure: Regenerated.
2012-04-13 16:24:17 -07:00
H.J. Lu
7e73e17d3f Add __ILP32__ check when defining __WORDSIZE 2012-04-13 16:17:14 -07:00
H.J. Lu
b46068fcf2 Use __builtin_bswap32/64 in x86_64 <bits/byteswap.h> 2012-04-10 13:02:41 -07:00
Joseph Myers
8f9a2faee0 Fix spurious overflow exceptions from x86/x86_64 powl (bug 13872). 2012-04-09 22:32:45 +00:00
Joseph Myers
bcc8d6617b Fix ctan, ctanh overflow (bug 11521). 2012-04-09 22:31:35 +00:00
Joseph Myers
c483f6b4a4 Fix x86 pow inaccuracy for large integer exponents (bug 706). 2012-04-09 09:42:05 +00:00
Mike Frysinger
3884932b78 memset: also update copyright years
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-08 14:20:37 -04:00
Mike Frysinger
1e4920e080 memset: fix define usage for shared libs
The proper define to check "am I in a shared lib" is "SHARED", not "PIC".
The two new memset_chk functions incorrectly depend on "PIC".

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-07 16:33:50 -04:00
H.J. Lu
f8887d0a5f Add byteswap-16.h for __bswap_16 2012-04-06 15:14:52 -07:00
Michael Matz
e80d6f94e1 Fix size parameter comparisions.
[BZ #13592]
There are several signed compares of the size argument, whereas
it really is unsigned.  Depending on situations e.g. a "memset(ptr, 0,
-1)" segfault (but for the wrong reasons, because jumping into nirvana)
or succeeds even.

In normal use this is harmless, as a size with signbit set indicates
more than half the address space which on x86_64 is impossible to
allocate, but as the size is used to index some jump tables this
potentially could have other unwanted side effects.
2012-04-05 10:50:09 +02:00
Andreas Jaeger
b1aa60f32d Add __bswap_64 definition for non GCC compilers.
[BZ#13926]
Currently __bswap_64 is not defined at all for non-GCC compilers.
Define it but guard it with __GLIBC_HAVE_LONG_LONG.

endian.h uses __bswap_64, make the functions only available
if __GLIBC_HAVE_LONG_LONG is defined.
2012-04-03 09:13:59 +02:00
Joseph Myers
d6270972f7 Fix pow of negative numbers to integer exponents (bugs 369, 2678, 3866). 2012-03-28 14:57:58 +00:00
Andreas Jaeger
2f60e7a8bc Fix last commit
Merge the current i386 version of sysdeps/i386/configure.in
Regenerate configure
2012-03-28 09:18:28 +02:00
Andreas Jaeger
1e3cdfda74 Merge branch 'elf-move'
Conflicts:
	debug/backtracesymsfd.c
	sysdeps/generic/elf/backtracesymsfd.c
	sysdeps/i386/configure.in
2012-03-27 21:35:36 +02:00
H.J. Lu
1532c7ac9a Make sure x86_64 GOT entry slot is always 8 bytes 2012-03-23 11:06:57 -07:00
Joseph Myers
7c69cd143b Fix cexp overflow (bug 13892). 2012-03-22 19:38:09 +00:00
H.J. Lu
81b035fe63 Replace Elf64_XXX with ElfW(XXX) in dl-irel.h 2012-03-22 10:17:05 -07:00
H.J. Lu
1da7940c77 Replace unsigned long with uint64_t 2012-03-22 10:02:57 -07:00
H.J. Lu
2ff87f3f18 Add sysdeps/x86_64/preconfigure 2012-03-22 08:28:39 -07:00
H.J. Lu
c8e43ba739 Add x32 support to dynamic linker audit 2012-03-21 17:14:49 -07:00
Andreas Schwab
7998fa7899 Disable use of FMA instructions in branred 2012-03-21 23:58:50 +01:00
Joseph Myers
1a4ac776eb Remove inaccurate x86 cexp implementations (bug 13883). 2012-03-21 15:28:05 +00:00
Joseph Myers
2460d3aa21 Fix pow of zero and infinity to large powers. 2012-03-21 12:16:00 +00:00
Andreas Jaeger
d6373f9ce3 Merge branch 'master' into elf-move 2012-03-20 20:40:16 +01:00
H.J. Lu
d1af992d0d Check __x86_64__ instead of __WORDSIZE in mathinline.h 2012-03-20 08:54:58 -07:00
H.J. Lu
114883e00a Support x86-64 __jmp_buf with __WORDSIZE != 64 2012-03-20 08:53:42 -07:00
H.J. Lu
95443d88af Use atomic64_t with 64bit atomic macros 2012-03-19 17:29:26 -07:00
H.J. Lu
490df6c441 Check __x86_64__ instead of __WORDSIZE for fenv_t 2012-03-19 16:10:51 -07:00
H.J. Lu
5e52b189f0 Check __x86_64__ instead of __WORDSIZE in mathdef.h 2012-03-19 16:00:52 -07:00
H.J. Lu
b4c35121c4 Use int64_t in x86_64/fpu/math_private.h 2012-03-19 15:17:48 -07:00
H.J. Lu
56965fd71c Cast _Unwind_GetCFA return to _Unwind_Ptr first 2012-03-19 13:33:20 -07:00
Joseph Myers
1897ad4432 Fix clog overflow/underflow (bug 13629). 2012-03-19 20:14:26 +00:00
Andreas Jaeger
6870c2ed1f Fix last line in configure.in. 2012-03-19 21:09:50 +01:00
Andreas Jaeger
8f599ddb67 Fix last line. 2012-03-19 21:06:14 +01:00
Andreas Jaeger
1221efbda9 Remove now obsolete elf/configure file. 2012-03-19 20:58:43 +01:00
Andreas Jaeger
0894643164 Merge contents from sysdeps/i386/configure.in (without i686 check) 2012-03-19 20:58:05 +01:00
Andreas Jaeger
9d639b9918 Move x86_64/elf files to x86_64 2012-03-19 20:55:26 +01:00
Richard Henderson
bd37f2ee31 Optimize private 387 fenv access; share code between i386 and x86_64. 2012-03-19 06:51:39 -07:00
Richard Henderson
d0adc92230 i386/x86_64: Optimize feholdexcept. 2012-03-19 06:51:06 -07:00
Richard Henderson
0fe0f1f86f Create and use libc_feupdateenv_test.
We can reduce the number of STMXCSR, and often we can avoid the
call to __feraiseexcept.
2012-03-19 06:50:41 -07:00
Richard Henderson
eb92c487b3 Create and use SET_RESTORE_ROUND{,_NOEX,_53BIT}{,F,L}. 2012-03-19 06:49:44 -07:00
Richard Henderson
b4dabbb47a Convert libc_feholdexcept et al from macros to inline functions. 2012-03-19 06:48:27 -07:00
Richard Henderson
4851a949b4 Make inline __isnan, __isinf_ns, __finite generic.
For code generation to stay identical on x86_64, this requires that
we define the fp word manipulation macros before including the
generic header.
2012-03-19 06:47:43 -07:00
H.J. Lu
473c3ef325 Define x86-64 ffsl alias only if __LP64__ is defined 2012-03-16 15:20:45 -07:00
Joseph Myers
c36e1d2369 Disable Bessel function TLOSS errors in POSIX mode. 2012-03-16 20:08:02 +00:00
Joseph Myers
11b90b9f50 Fix tan, tanl for large inputs. 2012-03-16 20:05:37 +00:00
Jan Kratochvil
6a1bd2a100 * sysdeps/x86_64/elf/start.S: Include <sysdep.h>.
(_start): Add cfi_startproc, cfi_undefined for rip and cfi_endproc.
2012-03-16 20:49:23 +01:00
Joseph Myers
8848d99dce Implement ldbl-96 sinl / cosl / sincosl (bug 13851). 2012-03-16 12:30:05 +00:00
Andreas Jaeger
356a10ee3e Merge branch 'master' into bug13658-branch 2012-03-14 16:36:17 +01:00
Joseph Myers
e456826d7a Fix csqrt overflow/underflow (bug 13841). 2012-03-14 11:53:32 +00: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
15194b4b3d x86_64: Convert __rint* and __floor* from macros to inlines. 2012-03-09 11:15:47 -08:00
Richard Henderson
64e21edef1 x86_64: Convert __ieee754_sqrt{,f,l} from macros to inlines. 2012-03-09 11:15:19 -08:00
Joseph Myers
d1d3431a3a Fix signs of zeros from casinh, cacosh etc. (bug 10716). 2012-03-07 15:15:19 +00:00
Andreas Jaeger
b35fe25ed9 [BZ #13658]
* sysdeps/x86_64/fpu/s_sincos.S: Delete.

	* math/libm-test.inc (sincos_test): Add test for large input.
2012-03-07 14:51:39 +01:00
Marek Polacek
a53b7a4e4b Fix up long double fphex. 2012-03-06 22:08:16 +01:00
Joseph Myers
b7cd39e8f8 Fix pow in non-default rounding modes (bug 3976). 2012-03-05 12:22:46 +00:00
Joseph Myers
ca811b2256 Test cosh, sinh in non-default rounding modes (bug 3976). 2012-03-05 12:20:24 +00:00
Marek Polacek
bc957d531c Remove oldish __GNUC_PREREQ. 2012-03-03 22:57:00 +01:00
Joseph Myers
804360ed83 Fix sin, cos, tan in non-default rounding modes (bug 3976). 2012-03-02 20:51:39 +00:00
Joseph Myers
28afd92dbd Fix exp in non-default rounding modes (bug 3976). 2012-03-02 15:12:53 +00:00
Joseph Myers
7b1902cb3e Improve erfc accuracy. 2012-03-01 21:15:38 +00:00
Joseph Myers
0fcad3e243 Add test for bug 5794 (incorrect expm1 overflow). 2012-02-29 20:49:20 +00:00
Joseph Myers
5b8a4d4a09 Reduce large expected errors from libm tests on x86 and x86_64. 2012-02-29 20:40:50 +00:00
Ulrich Drepper
39adf059fc Optimized expf for x86-64 2012-02-28 20:06:39 -05:00
Joseph Myers
5ad91f6e6f Resort ULPs files with gen-libm-test.pl -n in C locale. 2012-02-20 18:06:05 +00:00
Marek Polacek
ed656b4065 Provide crt[in].S for x86-64. 2012-02-14 13:50:44 +01:00
Paul Eggert
59ba27a63a Replace FSF snail mail address with URLs. 2012-02-09 23:18:22 +00:00
Andreas Schwab
6c6dbc6300 Reduce ldouble ULPs for jn tests on x86 2012-02-08 22:25:15 +01:00
Marek Polacek
622c86f480 Remove __ELF__ conditionals 2012-02-07 00:41:11 +01:00
Joseph Myers
3b1004624e Fix makefile/configure problems with sse2avx changes. 2012-01-30 19:55:15 +00:00
Ulrich Drepper
96bc5b45a6 Optimize x86-64 math inline header a bit 2012-01-28 21:20:06 -05:00
Ulrich Drepper
56f6f6a240 Use -msse2avx option for x86-64 libm functions 2012-01-28 14:48:46 -05:00
Ulrich Drepper
73139a7628 Simplify use of AVX instructions in internal math macros 2012-01-28 11:19:06 -05:00
Ulrich Drepper
08cf777f9e Really fix AVX tests
There is no problem with strcmp, it doesn't use the YMM registers.
The math routines might since gcc perhaps generates such code.
Introduce bit_YMM_USBALE and use it in the math routines.
2012-01-26 09:45:54 -05:00
Ulrich Drepper
afc5ed09cb Reset bit_AVX in __cpu_features is OS support is missing 2012-01-26 07:45:14 -05:00
Ulrich Drepper
a0da5fe1e4 More fallout from supporting only ELF 2012-01-08 00:45:01 -05:00
Ulrich Drepper
a784e50247 Remove pre-ISO C support
No more __const.
2012-01-07 23:57:22 -05:00
Ulrich Drepper
0269750ca6 Remove non-ELF support 2012-01-07 20:30:26 -05:00
Ulrich Drepper
305502f69d Fix up a comment 2012-01-07 11:49:33 -05:00
Ulrich Drepper
e40bca1ef9 Yet more ia64 removal fallout 2012-01-07 11:44:02 -05:00
Marek Polacek
530a32499a Fix typos in comments 2011-12-23 13:59:40 -05:00
Ulrich Drepper
67371b5666 Prevent warnings due to long long constants 2011-12-23 13:52:59 -05:00
Liubov Dmitrieva
15db4de19d Fix overrun in destination buffer 2011-12-23 12:02:15 -05:00
Ulrich Drepper
21eaf3a5f9 Use __REDIRECT_NTH for __feraiseexcept_renamed 2011-12-22 08:05:21 -05:00
Rafael Ávila de Espíndola
d2daaa1eb6 Define x86_64 feraiseexcept inline only under __USE_EXTERN_INLINES. 2011-12-21 13:27:09 -08:00
Ulrich Drepper
370a7d88f7 WP fixes 2011-12-17 14:41:05 -05:00
Ulrich Drepper
1d3e4b618a Optimized wcschr and wcscpy for x86-64 and x86-32 2011-12-17 14:39:23 -05:00
Ulrich Drepper
aff2453df7 Fix more warnings 2011-12-03 21:49:35 -05:00
Ulrich Drepper
34372fc6d3 Fix test of non-ASCII locales in x86-64 strcasecmp et.al. 2011-11-01 16:46:23 -04:00
Ulrich Drepper
52e4b9eb62 More cleanups of x86-64 strstr 2011-10-28 19:01:48 -04:00
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
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
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
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
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
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
c196fed8f0 Fix compilation problems in x86-64 init-arch 2011-10-21 20:47:20 -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
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
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
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
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
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
bf972c9dfc Fix parse error in bits/mathinline.h with --std=c99 2011-09-26 14:01:30 +02:00
Ulrich Drepper
4c1a1f71c0 Add fmax and fmin inlines for x86-64 2011-09-15 13:11:08 -04: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
e529793b50 Avoid macro clash between <sys/select.h> and <linux/posix_types.h> 2011-09-13 15:16:38 +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
Petr Baudis
1248c1c415 Fix jn precision 2011-09-09 22:16:10 -04:00
H.J. Lu
08a300c956 Simplify AVX check 2011-09-07 21:38:23 -04:00
Ulrich Drepper
ceaa0c5dc3 Move Atom-optimized code out of the way and together 2011-09-06 21:53:03 -04:00
Ulrich Drepper
8e1294e83f Remove now-wrong comment 2011-09-06 17:20:33 -04:00
Ulrich Drepper
6d18b67f4d Fix whitespaces 2011-09-05 21:42:12 -04:00
Liubov Dmitrieva
a5f524e479 Add Atom-optimized strchr and strrchr for x86-64 2011-09-05 21:34:03 -04:00
Ulrich Drepper
49d42c37ba Add optimized x86-64 wcscmp 2011-09-05 14:08:23 -04:00
Ulrich Drepper
0276a718c0 Fix minor CFI problem in regular x86-64 trampoline 2011-08-20 08:58:44 -04:00
Ulrich Drepper
c88f17668b Fix CFI info in x86-64 trampolines for non-AVX code 2011-08-20 08:56:30 -04:00
Ulrich Drepper
8e999d2962 Minor optimization of popcount in l10nflist 2011-08-11 14:07:04 -04:00
Andreas Schwab
8c1a459f9a Fix inline strncat/strncmp on x86 2011-08-04 14:59:25 -04:00
Ulrich Drepper
bba33c289b One more typo in AVX test 2011-07-23 15:18:13 -04:00
Ulrich Drepper
2ee5518515 Merge branch 'master' of ssh://sourceware.org/git/glibc
Conflicts:
	ChangeLog
2011-07-23 00:04:15 -04:00
Ulrich Drepper
1aae088a8a One more change to XSAVE patch 2011-07-22 23:33:22 -04:00
Andreas Schwab
1d002f2539 Fix AVX check 2011-07-22 14:33:47 -04:00
Ulrich Drepper
21137f89c5 Fix overflow bug is optimized strncat for x86-64 2011-07-21 12:32:36 -04:00
Ulrich Drepper
5644ef5461 Fix check for AVX enablement
The AVX bit is set if the CPU supports AVX.  But this doesn't mean the
kernel does.  Add checks according to Intel's documentation.
2011-07-20 21:21:03 -04:00
Ulrich Drepper
6986b98a18 Force :a_x86_64_ymm to be 16-byte aligned 2011-07-20 14:20:00 -04:00
Ulrich Drepper
8002999481 Fix whitespaces 2011-07-19 17:27:09 -04:00
Liubov Dmitrieva
99710781cc Improve 64 bit strcat functions with SSE2/SSSE3 2011-07-19 17:11:54 -04:00
Ulrich Drepper
ecaddd6699 Rebuild configure scripts 2011-07-06 21:29:02 -04:00
H.J. Lu
8912479f9e Improved st{r,p}{,n}cpy for SSE2 and SSSE3 on x86-64 2011-06-24 15:14:22 -04:00
H.J. Lu
0b1cbaaef5 Optimized st{r,p}{,n}cpy for SSE2/SSSE3 on x86-32 2011-06-24 14:15:32 -04:00
David S. Miller
42675c6ff0 Add an elf_ifunc_invoke interface so that architectures can implement
the ifunc resolver calls however they wish.
2011-06-20 19:56:40 -07:00
H.J. Lu
3d29045b5e Assume Intel Core i3/i5/i7 processor if AVX is available 2011-06-03 07:01:25 -04:00
H.J. Lu
8db736347c Fix typo in x86-64 powl 2011-05-18 19:50:48 -04:00
Mike Frysinger
4c559bcdf3 Fix static linking with checking x86/x86-64 memcpy. 2011-04-17 22:20:47 -04:00
Ulrich Drepper
e6c6149412 Fix memory leak in TLS of loaded objects. 2011-04-10 22:43:01 -04:00
Ulrich Drepper
dedc7c7b05 Fix typo in cache information table for x86-{32,64}. 2011-04-03 09:32:31 -04:00
H.J. Lu
0354e35501 Work around old buggy program which cannot cope with memcpy semantics. 2011-04-01 19:38:21 -04:00
Ulrich Drepper
bb2420590c Last change caused infinite loops because of missing loop increment. 2011-03-22 01:52:43 -04:00
H.J. Lu
c97a1282a4 Handle page boundaries in x86 SSE4.2 strncmp. 2011-03-21 05:35:38 -04:00
Ulrich Drepper
2a11560107 Implement x86 cpuid handling of leaf4 for cache information. 2011-03-20 08:14:30 -04:00
Harsha Jagasia
7e4ba49cd3 Enable SSE2 memset for AMD'supcoming Orochi processor.
This patch enables SSE2 memset for AMD's upcoming Orochi processor.
This patch also fixes the following bug:
For misaligned blocks larger than > 144 Bytes, memset branches into
the integer code path depending on the value of misalignment even if
the startup code chooses the SSE2 code path upfront, when multiarch
is enabled.
2011-03-04 23:30:08 -05:00
Ulrich Drepper
baa6c69a57 Work around empty line at end file generated by autoconf. 2011-02-17 01:26:07 -05:00
Ulrich Drepper
e943389325 Remove use of ranlib. 2011-02-15 14:52:29 -05:00
Roland McGrath
a0bf67cca2 Fix some warning nits. 2011-02-04 10:53:51 -08:00
Ulrich Drepper
f257bbd77d Clean up some bits/select.h headers. 2011-01-09 16:49:17 -05:00
Ryan S. Arnold
30950a5fd2 Make PowerPC64 default to nonexecutable stack 2010-12-19 22:49:01 -05:00
H.J. Lu
13b695749a Support Intel processor model 6 and model 0x2. 2010-11-12 03:48:52 -05:00
H.J. Lu
8ca52c6e3b Fix one exit path in x86-64 SSE4.2 str{,n}casecmp. 2010-11-10 03:05:37 -05:00
Ulrich Drepper
69da074d7a Fix warnings in __bswap_16. 2010-11-10 02:38:35 -05:00