diff options
author | Jakub Jelinek <jakub@redhat.com> | 2007-01-15 23:43:04 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2007-01-15 23:43:04 +0000 |
commit | d68f5d2cff7cd9fb5f1f5dfa4c24d245766bab49 (patch) | |
tree | c0cea5b208d8ff8f46eb3b6008959b268012bf51 /soft-fp/op-4.h | |
parent | 2a1dea970d565187255f6acffcb9963d6cefc674 (diff) | |
download | glibc-d68f5d2cff7cd9fb5f1f5dfa4c24d245766bab49.zip glibc-d68f5d2cff7cd9fb5f1f5dfa4c24d245766bab49.tar.gz glibc-d68f5d2cff7cd9fb5f1f5dfa4c24d245766bab49.tar.bz2 |
[BZ #2749]
* soft-fp/op-common.h (FP_TRUNC): When truncating a NaN, clear
workbits in semi-raw fraction.
* math/test-misc.c: Add new tests.
* math/basic-test.c: Include test-skeleton.c.
(TEST_TRUNC): Define.
(truncdfsf_test, trunctfsf_test, trunctfdf_test): New.
(main): Rename to ...
(do_test): ...this. Run new tests.
(TEST_FUNCTION): Define.
[BZ #2749]
* soft-fp/op-4.h (__FP_FRAC_SUB_3, __FP_FRAC_SUB_4): Correct borrow
handling for high words.
* soft-fp/op-common.h (_FP_OVERFLOW_SEMIRAW): Always set inexact
and overflow for infinity.
2007-01-15 Jakub Jelinek <jakub@redhat.com>
* soft-fp/op-common.h (FP_TRUNC): When truncating a NaN, clear
workbits in semi-raw fraction.
* math/test-misc.c: Add new tests.
2007-01-14 Steven Munroe <sjmunroe@us.ibm.com>
* math/basic-test.c: Include test-skeleton.c.
(TEST_TRUNC): Define.
(truncdfsf_test, trunctfsf_test, trunctfdf_test): New.
(main): Rename to ...
(do_test): ...this. Run new tests.
(TEST_FUNCTION): Define.
2006-10-05 Steven Munroe <sjmunroe@us.ibm.com>
Joe Kerian <jkerian@us.us.ibm.com>
[BZ #2749]
* soft-fp/op-4.h (__FP_FRAC_SUB_3, __FP_FRAC_SUB_4): Correct borrow
handling for high words.
* soft-fp/op-common.h (_FP_OVERFLOW_SEMIRAW): Always set inexact
and overflow for infinity.
Diffstat (limited to 'soft-fp/op-4.h')
-rw-r--r-- | soft-fp/op-4.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/soft-fp/op-4.h b/soft-fp/op-4.h index 34f5098..1b90535 100644 --- a/soft-fp/op-4.h +++ b/soft-fp/op-4.h @@ -564,7 +564,7 @@ r1 = x1 - y1; \ _c2 = r1 > x1; \ r1 -= _c1; \ - _c2 |= r1 > _c1; \ + _c2 |= _c1 && (y1 == x1); \ r2 = x2 - y2 - _c2; \ } while (0) #endif @@ -578,11 +578,11 @@ r1 = x1 - y1; \ _c2 = r1 > x1; \ r1 -= _c1; \ - _c2 |= r1 > _c1; \ + _c2 |= _c1 && (y1 == x1); \ r2 = x2 - y2; \ _c3 = r2 > x2; \ r2 -= _c2; \ - _c3 |= r2 > _c2; \ + _c3 |= _c2 && (y2 == x2); \ r3 = x3 - y3 - _c3; \ } while (0) #endif |