Commit Graph

322 Commits

Author SHA1 Message Date
Joseph Myers bbf37bdc12 Move TEST_f_f tests for [l-y]* functions from libm-test.inc to auto-libm-test-in. 2013-12-05 13:54:50 +00:00
Joseph Myers 699ff83712 Fix Bessel function error handling (bug 6807, bug 15901). 2013-12-04 14:39:37 +00:00
Joseph Myers 749008ff03 Fix exp missing underflows (bug 15268, bug 15425). 2013-12-03 21:49:56 +00:00
Joseph Myers 34e16df5a1 Fix erfc errno setting on underflow (bug 6786). 2013-12-03 16:25:18 +00:00
Joseph Myers d8e2dbe3e3 Move TEST_f_f tests for [e-j]* functions from libm-test.inc to auto-libm-test-in. 2013-12-03 16:22:49 +00:00
Joseph Myers 176b0c7913 Move TEST_f_f tests for [a-c]* functions from libm-test.inc to auto-libm-test-in. 2013-11-30 22:04:13 +00:00
Joseph Myers 3c1c46a64a Fix dbl-64 e_sqrt.c for non-default rounding modes (bug 16271). 2013-11-28 16:50:38 +00:00
Joseph Myers 6629449166 Fix spurious "inexact" exceptions from x86 pow with NaN argument (bug 16167). 2013-11-16 12:45:11 +00:00
Alan Modra 1b6adf888d PowerPC floating point little-endian [1 of 15]
http://sourceware.org/ml/libc-alpha/2013-08/msg00081.html

This is the first of a series of patches to ban ieee854_long_double
and the ieee854_long_double macros when using IBM long double.  union
ieee854_long_double just isn't correct for IBM long double, especially
when little-endian, and pretending it is OK has allowed a number of
bugs to remain undetected in sysdeps/ieee754/ldbl-128ibm/.

This changes the few places in generic code that use it.

	* stdio-common/printf_size.c (__printf_size): Don't use
	union ieee854_long_double in fpnum union.
	* stdio-common/printf_fphex.c (__printf_fphex): Likewise.  Use
	signbit macro to retrieve sign from long double.
	* stdio-common/printf_fp.c (___printf_fp): Use signbit macro to
	retrieve sign from long double.
	* sysdeps/ieee754/ldbl-128ibm/printf_fphex.c: Adjust for fpnum change.
	* sysdeps/ieee754/ldbl-128/printf_fphex.c: Likewise.
	* sysdeps/ieee754/ldbl-96/printf_fphex.c: Likewise.
	* sysdeps/x86_64/fpu/printf_fphex.c: Likewise.
	* math/test-misc.c (main): Don't use union ieee854_long_double.
ports/
	* sysdeps/ia64/fpu/printf_fphex.c: Adjust for fpnum change.
2013-10-04 10:31:41 +09:30
Joseph Myers ffa3cd7f1a Fix lgammaf spurious underflow (bug 15427). 2013-09-03 15:32:54 +00:00
Joseph Myers b7835e3223 Fix spurious jnf underflows (bug 14155). 2013-09-02 14:51:24 +00: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
Joseph Myers 9c84384cc1 Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
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
Joseph Myers db62a90753 Handle sincos with generic libm-test logic. 2013-05-19 14:45:41 +00: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 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
Joseph Myers 0a1b2ae6f6 Fix casinh inaccuracy for argument with imaginary part 1 (bug 15287). 2013-03-21 10:27:10 +00:00
Joseph Myers d2f9799e7c Fix y1l spurious overflows for ldbl-96 (bug 15283). 2013-03-16 17:51:48 +00:00
Siddhesh Poyarekar d6752ccd69 New __sqr function as a faster special case of __mul 2013-02-14 10:31:09 +05:30
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
Joseph Myers a9708fed77 Fix casinh, casin overflow (bug 14996). 2013-01-07 14:59:53 +00:00
Joseph Myers cdc1c96fba Fix casinh, casin inaccuracy from cancellation (bug 14994). 2013-01-04 13:25:17 +00: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
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
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
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
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
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
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 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 25f1282ae5 Use i386 bits/mathinline.h for i386 and x86_64 2012-06-15 13:56:26 -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
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
Joseph Myers e0b16cc25c Fix ccos, csin, ccosh, csinh overflows (bug 14123). 2012-05-19 15:35:29 +00:00
Andreas Jaeger 7a185db2b7 Do not provide inlines for GCC build-in functions 2012-05-18 09:08:14 +02: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
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
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
Joseph Myers d6270972f7 Fix pow of negative numbers to integer exponents (bugs 369, 2678, 3866). 2012-03-28 14:57:58 +00:00
Joseph Myers 7c69cd143b Fix cexp overflow (bug 13892). 2012-03-22 19:38:09 +00: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
H.J. Lu d1af992d0d Check __x86_64__ instead of __WORDSIZE in mathinline.h 2012-03-20 08:54:58 -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 b4c35121c4 Use int64_t in x86_64/fpu/math_private.h 2012-03-19 15:17:48 -07:00
Joseph Myers 1897ad4432 Fix clog overflow/underflow (bug 13629). 2012-03-19 20:14:26 +00: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
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
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
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
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 a784e50247 Remove pre-ISO C support
No more __const.
2012-01-07 23:57:22 -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 aff2453df7 Fix more warnings 2011-12-03 21:49:35 -05: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 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 af968f62f2 Optimize accurate 64-bit routines for FMA4 on x86-64 2011-10-24 20:19:17 -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 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
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