On Sun, Jan 9, 2022 at 4:18 PM Mark Kettenis <mark.kette...@xs4all.nl> wrote: > > > From: Greg Steuck <gne...@openbsd.org> > > Date: Sun, 09 Jan 2022 12:47:14 -0800 > > > > Greg Steuck <gne...@openbsd.org> writes: > > > > > This was reduced from a ghc test. The results of the program differ > > > between OpenBSD 7.0-current-amd64 and a couple of other systems: > > > > Thanks to phessler@ for testing on arm64 where the bug doesn't happen. > > This patch makes OpenBSD-amd64 work the rest of the systems. I added > > i386 as it was also similarly broken (but didn't test the change yet). > > As I said on icb, NetBSD removed all of the x86 assembly sin/cos/tan > implementations because: > > "The x87 hardware uses a bad approximation to pi for argument reduction" > > So I think we should use the software fallbacks for all of these > functions (and remove the broken assembly implementations). > > I don't think it makes sense to just remove tanf() and leave the > others in place. > >
Here's the link to the commit Mark referenced: https://github.com/NetBSD/src/commit/4f9e11b0dddf04640fe0553a9133a471af613627 And then the actual implementations were removed in this commit: https://github.com/NetBSD/src/commit/870f792ccadb412e522f37caec6028b0076a871b So I guess this is the list of functions to remove, Mark? I'm testing this on i386 with numpy to see if regress tests improve. s_cos.S s_cosf.S s_sin.S s_sinf.S s_tan.S s_tanf.S