Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 09 Apr 2021 19:58:25 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   =?UTF-8?B?W0J1ZyAyNTQ5MTFdIGxpYi9tc3VuL2N0cmlnX3Rlc3QgZmFpbHMg?= =?UTF-8?B?aWYgY29tcGlsZWQgd2l0aCBBVljCoCgtbWF2eCkgb3IgYW55IENQVVNFVCBl?= =?UTF-8?B?bmFibGluZyBBVlg=?=
Message-ID:  <bug-254911-227-Cko0pIkxAs@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-254911-227@https.bugs.freebsd.org/bugzilla/>
References:  <bug-254911-227@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D254911

Dimitry Andric <dim@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |arichardson@FreeBSD.org,
                   |                            |dim@FreeBSD.org,
                   |                            |emaste@freebsd.org

--- Comment #1 from Dimitry Andric <dim@FreeBSD.org> ---
This is what happens on my system (I just set CPUTYPE=3Dsandybridge):

  testing csinh(0 + 0 I) =3D=3D 0 + 0 I
  testing csinh(0 + -0 I) =3D=3D 0 + -0 I
  testing csinhf(0 + 0 I) =3D=3D 0 + 0 I
  testing csinhf(0 + -0 I) =3D=3D 0 + -0 I
  testing csinh(-0 + -0 I) =3D=3D -0 + -0 I
  testing csinh(-0 + 0 I) =3D=3D -0 + 0 I
  testing csinhf(-0 + -0 I) =3D=3D -0 + -0 I
  testing csinhf(-0 + 0 I) =3D=3D -0 + 0 I
  testing csin(0 + 0 I) =3D=3D 0 + 0 I
  testing csin(0 + -0 I) =3D=3D 0 + -0 I
  testing csinf(0 + 0 I) =3D=3D 0 + 0 I
  testing csinf(0 + -0 I) =3D=3D 0 + -0 I
  testing csin(-0 + -0 I) =3D=3D -0 + -0 I
  testing csin(-0 + 0 I) =3D=3D -0 + 0 I
  testing csinf(-0 + -0 I) =3D=3D -0 + -0 I
  testing csinf(-0 + 0 I) =3D=3D -0 + 0 I
  testing ccosh(0 + 0 I) =3D=3D 1 + 0 I
  testing ccosh(0 + -0 I) =3D=3D 1 + -0 I
  testing ccoshf(0 + 0 I) =3D=3D 1 + 0 I
  testing ccoshf(0 + -0 I) =3D=3D 1 + -0 I
  testing ccosh(-0 + -0 I) =3D=3D 1 + 0 I
  testing ccosh(-0 + 0 I) =3D=3D 1 + -0 I
  testing ccoshf(-0 + -0 I) =3D=3D 1 + 0 I
  testing ccoshf(-0 + 0 I) =3D=3D 1 + -0 I
  testing ccos(0 + 0 I) =3D=3D 1 + -0 I
  testing ccos(0 + -0 I) =3D=3D 1 + 0 I
  testing ccosf(0 + 0 I) =3D=3D 1 + -0 I
  testing ccosf(0 + -0 I) =3D=3D 1 + 0 I
  testing ccos(-0 + -0 I) =3D=3D 1 + -0 I
  testing ccos(-0 + 0 I) =3D=3D 1 + 0 I
  testing ccosf(-0 + -0 I) =3D=3D 1 + -0 I
  testing ccosf(-0 + 0 I) =3D=3D 1 + 0 I
  testing ctanh(0 + 0 I) =3D=3D 0 + 0 I
  testing ctanh(0 + -0 I) =3D=3D 0 + -0 I
  testing ctanhf(0 + 0 I) =3D=3D 0 + 0 I
*** Check failed: /usr/src/lib/msun/tests/ctrig_test.c:147: ctanhf
fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)) (0x1) !=3D 0
  testing ctanhf(0 + -0 I) =3D=3D 0 + -0 I
*** Check failed: /usr/src/lib/msun/tests/ctrig_test.c:147: ctanhf
fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)) (0x1) !=3D 0
  testing ctanh(-0 + -0 I) =3D=3D -0 + -0 I
  testing ctanh(-0 + 0 I) =3D=3D -0 + 0 I
  testing ctanhf(-0 + -0 I) =3D=3D -0 + -0 I
*** Check failed: /usr/src/lib/msun/tests/ctrig_test.c:147: ctanhf
fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)) (0x1) !=3D 0
  testing ctanhf(-0 + 0 I) =3D=3D -0 + 0 I
*** Check failed: /usr/src/lib/msun/tests/ctrig_test.c:147: ctanhf
fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)) (0x1) !=3D 0
  testing ctan(0 + 0 I) =3D=3D 0 + 0 I
  testing ctan(0 + -0 I) =3D=3D 0 + -0 I
  testing ctanf(0 + 0 I) =3D=3D 0 + 0 I
*** Check failed: /usr/src/lib/msun/tests/ctrig_test.c:148: ctanf
fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)) (0x1) !=3D 0
  testing ctanf(0 + -0 I) =3D=3D 0 + -0 I
*** Check failed: /usr/src/lib/msun/tests/ctrig_test.c:148: ctanf
fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)) (0x1) !=3D 0
  testing ctan(-0 + -0 I) =3D=3D -0 + -0 I
  testing ctan(-0 + 0 I) =3D=3D -0 + 0 I
  testing ctanf(-0 + -0 I) =3D=3D -0 + -0 I
*** Check failed: /usr/src/lib/msun/tests/ctrig_test.c:148: ctanf
fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)) (0x1) !=3D 0
  testing ctanf(-0 + 0 I) =3D=3D -0 + 0 I
*** Check failed: /usr/src/lib/msun/tests/ctrig_test.c:148: ctanf
fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)) (0x1) !=3D 0
failed: 8 checks failed; see output for more details

So it's the exception masks that don't match. IIRC Alexander recently adjus=
ted
most of these tests to print the "bad" values if they were failing, but it
doesn't really print the actual exception bits.

Probably there's some code in ctan and ctanh that takes a shortcut here and
precalculates the result, as we've seen before. Sprinkling some volatile or
compiling ctan/ctanh with -fno-builtin might help...

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-254911-227-Cko0pIkxAs>