diff --git a/lib/libc/musl/src/math/i386/acos.s b/lib/libc/musl/src/math/i386/acos.s deleted file mode 100644 index af423a2fcd..0000000000 --- a/lib/libc/musl/src/math/i386/acos.s +++ /dev/null @@ -1,18 +0,0 @@ -# use acos(x) = atan2(fabs(sqrt((1-x)*(1+x))), x) - -.global acos -.type acos,@function -acos: - fldl 4(%esp) - fld %st(0) - fld1 - fsub %st(0),%st(1) - fadd %st(2) - fmulp - fsqrt - fabs # fix sign of zero (matters in downward rounding mode) - fxch %st(1) - fpatan - fstpl 4(%esp) - fldl 4(%esp) - ret diff --git a/lib/std/math/acos.zig b/lib/std/math/acos.zig index dfb3caf4d9..6f734dbacb 100644 --- a/lib/std/math/acos.zig +++ b/lib/std/math/acos.zig @@ -48,7 +48,7 @@ fn acos32(x: f32) f32 { return 0.0; } } else { - return math.nan(f32); + return (x - x) / 0; } } @@ -117,7 +117,7 @@ fn acos64(x: f64) f64 { } } - return math.nan(f64); + return (x - x) / 0; } // |x| < 0.5 diff --git a/src/libs/musl.zig b/src/libs/musl.zig index 7313eee2c5..25d31accf7 100644 --- a/src/libs/musl.zig +++ b/src/libs/musl.zig @@ -890,7 +890,6 @@ const src_files = [_][]const u8{ "musl/src/math/hypotl.c", "musl/src/math/i386/acosf.s", "musl/src/math/i386/acosl.s", - "musl/src/math/i386/acos.s", "musl/src/math/i386/asinf.s", "musl/src/math/i386/asinl.s", "musl/src/math/i386/asin.s", diff --git a/test/libc.zig b/test/libc.zig index 8e79122db1..d7f8c3cceb 100644 --- a/test/libc.zig +++ b/test/libc.zig @@ -138,7 +138,7 @@ pub fn addCases(cases: *tests.LibcContext) void { cases.addLibcTestCase("regression/wcsncpy-read-overflow.c", true, .{}); cases.addLibcTestCase("regression/wcsstr-false-negative.c", true, .{}); - // cases.addLibcTestCase("math/acos.c", true, .{}); + cases.addLibcTestCase("math/acos.c", true, .{}); // cases.addLibcTestCase("math/acosf.c", true, .{}); // cases.addLibcTestCase("math/acosh.c", true, .{}); cases.addLibcTestCase("math/acoshf.c", true, .{});