Commit Graph

25802 Commits

Author SHA1 Message Date
Joseph Myers 3e69426875 Fix nearbyint scheduling of arithmetic past fesetenv (bug 15490). 2013-05-19 18:40:25 +00:00
Joseph Myers db62a90753 Handle sincos with generic libm-test logic. 2013-05-19 14:45:41 +00:00
Joseph Myers f16cc3eb81 Simplify gen-libm-test.pl handling of tests with extra outputs. 2013-05-19 14:40:40 +00:00
Joseph Myers 2ee094ff75 Don't disable CMPLXL macro for __NO_LONG_DOUBLE_MATH (bug 15488). 2013-05-18 12:12:38 +00:00
Joseph Myers 3779b5b64a Make libm-test look up ulps by name at runtime. 2013-05-18 12:10:59 +00:00
Joseph Myers bb38759d6d Fix remainder exceptions and directed-rounding results (bugs 15480, 15485). 2013-05-17 19:04:08 +00:00
Joseph Myers a00bdcf0e0 Simplify libm-test extra-output initialization. 2013-05-17 19:02:19 +00:00
Joseph Myers de407f79a2 Don't handle ulps for integer tests in libm-test.inc. 2013-05-17 19:01:27 +00:00
Joseph Myers 8269107fe6 Test more cases of "inexact" exceptions in libm-test.inc. 2013-05-17 14:45:50 +00:00
Siddhesh Poyarekar 48a18de1e1 Prevent optimizing out of benchmark function call
Resolves: #15424

The compiler would optimize the benchmark function call out of the
loop and call it only once, resulting in blazingly fast times for some
benchmarks (notably atan, sin and cos).  Mark the inputs as volatile
so that the code is forced to read again from the input for each
iteration.
2013-05-17 19:10:33 +05:30
Adhemerval Zanella 13d3b41a36 PowerPC: fix hypot/hypotf check for -INF 2013-05-17 08:15:59 -05:00
Maciej W. Rozycki 2848b10585 MIPS: soft-fp NaN representation corrections
[BZ #15442] This adds support for the inverse interpretation of the
quiet bit of IEEE 754 floating-point NaN data that some processors
use.  This includes in particular MIPS architecture processors; the
payload used for the canonical qNaN encoding is updated accordingly
so as not to interfere with the quiet bit.
2013-05-16 23:33:55 +01:00
Joseph Myers c58b274f01 Test for errno setting in more pole error cases. 2013-05-16 21:57:25 +00:00
Joseph Myers 0ab349044b Remove ENOSYS tests in libm-test.inc. 2013-05-16 19:09:54 +00:00
Joseph Myers 323e5cb792 Remove libm-test support for TEST_* inside functions. 2013-05-16 19:09:03 +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
Joseph Myers 8c75f67421 Convert TEST_extra tests from code to data. 2013-05-16 15:53:40 +00:00
Richard Henderson e6e49e59c1 De-stringify constants in math/atest-exp2.c. 2013-05-16 06:34:01 -07:00
Joseph Myers 105a07dfc0 Support testing "inexact" exceptions in libm-test.inc. 2013-05-16 13:19:38 +00:00
Joseph Myers e9eee333b9 Test for errno setting in more overflow error cases. 2013-05-16 13:18:48 +00:00
Joseph Myers 1c38ff73fd Convert TEST_cc_c tests from code to data. 2013-05-16 13:17:55 +00:00
Joseph Myers 15c7c18dc6 Convert TEST_f_L tests from code to data. 2013-05-16 13:16:56 +00:00
Peter Collingbourne f137ff1383 Remove const attribute on get_log2
This function is not const, as it can modify log2_m and log2_m_inited.
2013-05-15 14:27:53 -07:00
Carlos O'Donell c5d9b39ce6 hppa: Cleanup libm-test-ulps.
Joseph Myers noted that there were several old and really very
incorrect values in the hppa libm-test-ulps. This patch removes
all of the ulps values for ceil, floor, rint, round, trun,
llrint, and llround, all of which were previously incorreclty
added (including some negative values which are really wrong).

---
ports/

2013-05-15  Carlos O'Donell  <carlos@redhat.com>

	* sysdeps/hppa/fpu/libm-test-ulps: Remove old values for ceil, floor,
	rint, round, trunc, llrint, and llround.
2013-05-15 17:19:20 -04:00
Joseph Myers 3608cb241e Convert TEST_f_l tests from code to data. 2013-05-15 19:48:17 +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
Peter Collingbourne 39b1f6172a Move _obstack_compat out of common
it is impossible to create an alias of a common symbol (as
compat_symbol does), because common symbols do not have a section or
an offset until linked.  GNU as tolerates aliases of common symbols by
simply creating another common symbol, but other assemblers (notably
LLVM's integrated assembler) are less tolerant.

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

	* malloc/obstack.c (_obstack_compat): Add initializer.
-
2013-05-15 20:29:20 +02:00
Andreas Jaeger ecbf434213 Reserve new TLS field for x86 and x86_64
[BZ #10686]
	* sysdeps/x86_64/tls.h (struct tcbhead_t): Add __private_ss
	field.
	* sysdeps/i386/tls.h (struct tcbhead_t): Likewise.
2013-05-15 20:20:54 +02:00
Edjunior Machado 12fba011bd Update s390/bits/siginfo.h
2013-05-15  Edjunior Machado  <emachado@linux.vnet.ibm.com>

	* sysdeps/unix/sysv/linux/s390/bits/siginfo.h (siginfo_t):
	Remove si_trapno and add si_addr_lsb to _sifields.sigfault.
	(si_trapno): Remove macro.
	(si_addr_lsb): Define new macro.
	(BUS_MCEERR_AR, BUS_MCEERR_AO): Define new values.
2013-05-15 20:15:19 +02:00
Joseph Myers b861c6c4c9 Consistently use TEST_f_L in tests of llrint and llround. 2013-05-15 16:58:41 +00:00
Carlos O'Donell 86ee76a086 hppa: Update libm-test-ulps
Update libm-test-ulps for hppa. There are a few entries
with 4 or 5 ulps, but these appear to be expected. A more
thorough review will be required if hppa switches long-double
to a different type.

---
ports/

2013-05-15  Carlos O'Donell  <carlos@redhat.com>

	* sysdeps/hppa/fpu/libm-test-ulps: Regenerate.
2013-05-15 12:42:59 -04:00
Carlos O'Donell b7f7d28b61 hppa: Fix _FPU_GETCW and _FPU_SETCW.
The following patch fixes both _FPU_GETCW and
_FPU_SETCW for hppa. The initial implementation was
flawed and not well tested. We failed to set cw,
and passed in the value of a register to fldd.
This patch fixes both of those errors and allows
the libm tests to pass without failure.

Signed-off-by: Guy Martin <gmsoft@tuxicoman.be>
Signed-off-by: Carlos O'Donell <carlos@redhat.com>
---

2013-05-15  Guy Martin  <gmsoft@tuxicoman.be>
	    Carlos O'Donell  <carlos@redhat.com>

	[BZ# 15000]
	* ports/sysdeps/hppa/fpu/fpu_control.h (_FPU_GETCW): Set cw.
	(_FPU_SETCW): Pass address to fldd.
2013-05-15 12:05:10 -04:00
Joseph Myers 7abeee129e Convert TEST_f_b tests from code to data. 2013-05-15 12:04:07 +00:00
Joseph Myers cbe8c4d333 Test for errno setting in more domain error cases. 2013-05-15 10:43:19 +00:00
Joseph Myers 5575c0e5cd Disable libm-test errno testing for TEST_INLINE. 2013-05-15 10:42:18 +00:00
Joseph Myers d369f53178 Convert TEST_ff_i tests from code to data. 2013-05-15 10:41:39 +00:00
David S. Miller 781fd74820 Update Sparc ULPs.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2013-05-14 15:44:29 -07:00
Joseph Myers 5e90827081 Fix whitespace in RUN_TEST_LOOP_2_f. 2013-05-14 21:17:19 +00:00
Joseph Myers f71172e551 Correct types of fields in libm-test.inc structures. 2013-05-14 21:00:56 +00:00
Joseph Myers 8cfa635ab8 Convert TEST_ffI_f1 tests from code to data. 2013-05-14 20:36:03 +00:00
Joseph Myers 0175558aa0 Stop ARM setjmp/longjmp saving/restoring fpscr (bug 14908). 2013-05-14 19:50:14 +00:00
Joseph Myers 2bcb36b265 Add test for setjmp / longjmp and floating-point state. 2013-05-14 19:49:09 +00:00
Joseph Myers acbd839a07 Convert TEST_f_i tests from code to data. 2013-05-14 19:13:43 +00:00
Joseph Myers e414d745ee Fix function name in scalbln_test call to END. 2013-05-14 19:12:54 +00:00
Joseph Myers d9c2a0fd2c Convert TEST_fI_f1 tests from code to data. 2013-05-14 19:12:10 +00:00
Joseph Myers 9dc9095d56 Convert TEST_fF_f1 tests from code to data. 2013-05-14 14:49:26 +00:00
Joseph Myers 87aa21df6f Convert TEST_f_f1 tests from code to data. 2013-05-14 12:01:19 +00:00
Carlos O'Donell 141af660d8 Add comments to vDSO hwcap loading process.
Loading of the vDSO pseudo-hwcap from the type 2 GNU note is
a rather arcane and poorly documented process. Given that I had
a chance to review this code today I thought I would add all
of the things I had to lookup to verify the validity of the
process.

With a single .note.GNU the vDSO can register up to 64 flags,
though in practice you are limited to 64 - _DL_FIRST_EXTRA
bits which on x86 is 12 bits.

The only use of this that I know of is in the Xen support
in Linux where they use the 1st bit to indicate "nosegneg".
I see "We use bit 1 to avoid bugs in some versions of glibc
when bit 0 is used; the choice is otherwise arbitrary.", but
no reference to a glibc bug anywhere. The code as-is should
support bit zero, so we still have that free for future use.

The kernel, glibc, and ld.so.cache must coordinate to ensure
that bit values don't go too high and are used consistently.

---

2013-05-13  Carlos O'Donell  <carlos@redhat.com>

	* elf/dl-hwcaps.c (_dl_important_hwcaps): Comment vDSO hwcap loading.
	* elf/ldconfig.c (is_hwcap_platform): Comment each hwcap check.
	(main): Comment "tls" pseudo-hwcap.
2013-05-14 00:06:35 -04:00
Roland McGrath 5d5ef5dbfc ARM: Make multiarch memcpy always use NEON when compiler does 2013-05-13 16:13:14 -07:00