I run into a number of assertion failures on i386 with the lib/msun testcases that I don't run into with amd64 [with both clang and gcc47]. Are these known issues? % uname -a FreeBSD isilon-fuji-current.local 11.0-CURRENT FreeBSD 11.0-CURRENT #12 r267851+3e60b32(isilon-atf-fix-bsd-progs): Thu Jun 26 12:06:01 PDT 2014 root@isilon-fuji-current.local:/usr/obj/usr/src/sys/FUJI i386 % prove -rv . ./test-cexp.t ......... 1..7 ok 1 - cexp zero ok 2 - cexp nan ok 3 - cexp inf Assertion failed: (cfpequal_cs((cexpf)(_d), ( ((long double _Complex){ expf(finites[i]), 0.0 })), (1))), function test_reals, file test-cexp.c, line 200. Failed 4/7 subtests ./test-ctrig.t ........ 1..6 ok 1 - ctrig zero ok 2 - ctrig nan ok 3 - ctrig inf 0x1.921fb54442d18p-1 0x0p+0 0x1.4fc442p-1 0x0p+0 0x1.4fc444p-1 0x1.921fb54442d18p+0 0x0p+0 0x1.d594fep-1 0x0p+0 0x1.d595p-1 0x1.2d97c7f3321d2p+1 0x0p+0 0x1.f6e20cp-1 0x0p+0 0x1.f6e20ep-1 0x1.f6a7a2955385ep+1 0x0p+0 0x1.ff9a46p-1 0x0p+0 0x1.ff9a48p-1 0x1.2d97c7f3321d2p+2 0x0p+0 0x1.ffead8p-1 0x0p+0 0x1.ffeadap-1 0x1.5fdbbe9bba775p+2 0x0p+0 0x1.fffb9ap-1 0x0p+0 0x1.fffb9cp-1 ok 4 - ctrig axes ok 5 - ctrig small Assertion failed: (cfpequal_tol((ctanh)(_d), ( ((long double _Complex){ 1.0, -1.62994325413993477997492170229268382e-26L })), ( ldexpl(1.0, 1 - 53)), FPE_ABS_ZERO)), function test_large, file test-ctrig.c, line 433. Failed 1/6 subtests ./test-exponential.t .. 1..3 Assertion failed: (fpequal((expf)(_d), (__builtin_inff()))), function run_generic_tests, file test-exponential.c, line 106. Failed 3/3 subtests ./test-fenv.t ......... 1..8 ok 1 - fenv ok 2 - fenv ok 3 - fenv ok 4 - fenv ok 5 - fenv ok 6 - fenv ok 7 - fenv ok 8 - fenv ok ./test-fma.t .......... 1..19 Assertion failed: (fpequal((fma)(_vx, _vy, _vz), (-0.0))), function test_zeroes, file test-fma.c, line 116. Failed 19/19 subtests Failed 3/3 subtests ./test-fenv.t ......... 1..8 ok 1 - fenv ok 2 - fenv ok 3 - fenv ok 4 - fenv ok 5 - fenv ok 6 - fenv ok 7 - fenv ok 8 - fenv ok ./test-fma.t .......... 1..19 Assertion failed: (fpequal((fma)(_vx, _vy, _vz), (-0.0))), function test_zeroes, file test-fma.c, line 116. Failed 19/19 subtests ./test-invtrig.t ...... 1..7 Assertion failed: (fpequal_tol(acosf(_in), _out, ((0) * ldexpf(1.0, 1 - 24)), CS_BOTH)), function test_special, file test-invtrig.c, line 116. Failed 7/7 subtests
Here's what I did to skip over the failed assertions on i386 and fix the issue with precision on i386: - https://github.com/yaneurabeya/freebsd/commit/621df535e577ed84eaf7203a32589aa245c92679 - https://github.com/yaneurabeya/freebsd/commit/5e110d6e4e6fb0391ed329497da697a884bd5df8 - https://github.com/yaneurabeya/freebsd/commit/2ab79daaed044c30cd4450fa549500011b939b62
A commit references this bug: Author: ngie Date: Wed Sep 10 03:54:57 UTC 2014 New revision: 271349 URL: http://svnweb.freebsd.org/changeset/base/271349 Log: Add diagnostic printfs and disable test # 4 on i386 Reviewed by: jmmv, rpaulo MFC after: 3 days Phabric: D749 PR: 191676 Sponsored by: EMC / Isilon Storage Division Changes: head/tools/regression/lib/msun/test-cexp.c
A commit references this bug: Author: ngie Date: Thu Oct 23 01:02:37 UTC 2014 New revision: 273503 URL: https://svnweb.freebsd.org/changeset/base/273503 Log: MFC r271349: Add diagnostic printfs and disable test # 4 on i386 Reviewed by: jmmv, rpaulo Phabric: D749 PR: 191676 Sponsored by: EMC / Isilon Storage Division Changes: _U stable/10/ stable/10/tools/regression/lib/msun/test-cexp.c
Close PRs that have had a corresponding fix committed.
A commit references this bug: Author: dim Date: Sat Jun 1 20:08:10 UTC 2019 New revision: 348500 URL: https://svnweb.freebsd.org/changeset/base/348500 Log: Partially revert r271349, which disabled the msun cexp test #4 on i386. Ensure the expected result is stored first in a volatile variable with the desired type. This makes all the tests succeed. Slightly changed from the original pull request, but functionally the same. Obtained from: https://github.com/freebsd/freebsd/pull/401 Submitted by: Moritz Buhl <gh@moritzbuhl.de> PR: 191676 MFC after: 3 days Changes: head/lib/msun/tests/cexp_test.c
A commit references this bug: Author: dim Date: Fri Jun 7 18:01:29 UTC 2019 New revision: 348784 URL: https://svnweb.freebsd.org/changeset/base/348784 Log: MFC r348500: Partially revert r271349, which disabled the msun cexp test #4 on i386. Ensure the expected result is stored first in a volatile variable with the desired type. This makes all the tests succeed. Slightly changed from the original pull request, but functionally the same. Obtained from: https://github.com/freebsd/freebsd/pull/401 Submitted by: Moritz Buhl <gh@moritzbuhl.de> PR: 191676 Changes: _U stable/12/ stable/12/lib/msun/tests/cexp_test.c
A commit references this bug: Author: dim Date: Fri Jun 7 18:52:37 UTC 2019 New revision: 348787 URL: https://svnweb.freebsd.org/changeset/base/348787 Log: MFC r348500: Partially revert r271349, which disabled the msun cexp test #4 on i386. Ensure the expected result is stored first in a volatile variable with the desired type. This makes all the tests succeed. Slightly changed from the original pull request, but functionally the same. Approved by: re (gjb) Obtained from: https://github.com/freebsd/freebsd/pull/401 Submitted by: Moritz Buhl <gh@moritzbuhl.de> PR: 191676 Changes: _U stable/11/ stable/11/lib/msun/tests/cexp_test.c