authorgravatar for rpkak@noreply.codeberg.orgrpkak <rpkak@noreply.codeberg.org> 2026-01-07 19:03:26+01:00
committergravatar for rpkak@noreply.codeberg.orgrpkak <rpkak@noreply.codeberg.org> 2026-01-10 00:09:54+01:00
loga2861a6c8dd96f69fa280f8a13541ca450143639
treeb15f49a424f7d586cbeb257cc30a32388bc57635
parent9dd32d5e65989c33101d4607a0ae15e6b4034879
signaturebadge-check Signed by SSH key SHA256:A2g6ATENrgLKQcUdthsn72P0njmQxnHSimzwnyJsZzo

libc: remove fmod implementations


9 files changed, 0 insertions(+), 106 deletions(-)

lib/libc/mingw/math/x86/fmodf.c deleted-29
...@@ -1,29 +0,0 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6/*
7 * Written by J.T. Conklin <jtc@netbsd.org>.
8 * Public domain.
9 *
10 * Adapted for float type by Danny Smith
11 * <dannysmith@users.sourceforge.net>.
12 */
13
14#include <math.h>
15
16float
17fmodf (float x, float y)
18{
19 float res = 0.0F;
20
21 asm volatile (
22 "1:\tfprem\n\t"
23 "fstsw %%ax\n\t"
24 "sahf\n\t"
25 "jp 1b\n\t"
26 "fstp %%st(1)"
27 : "=t" (res) : "0" (x), "u" (y) : "ax", "st(1)");
28 return res;
29}
lib/libc/mingw/math/x86/fmodl.c deleted-21
...@@ -1,21 +0,0 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6long double fmodl (long double x, long double y);
7
8long double
9fmodl (long double x, long double y)
10{
11 long double res = 0.0L;
12
13 asm volatile (
14 "1:\tfprem\n\t"
15 "fstsw %%ax\n\t"
16 "sahf\n\t"
17 "jp 1b\n\t"
18 "fstp %%st(1)"
19 : "=t" (res) : "0" (x), "u" (y) : "ax", "st(1)");
20 return res;
21}
lib/libc/musl/src/math/i386/fmod.c deleted-10
...@@ -1,10 +0,0 @@
1#include <math.h>
2
3double fmod(double x, double y)
4{
5 unsigned short fpsr;
6 // fprem does not introduce excess precision into x
7 do __asm__ ("fprem; fnstsw %%ax" : "+t"(x), "=a"(fpsr) : "u"(y));
8 while (fpsr & 0x400);
9 return x;
10}
lib/libc/musl/src/math/i386/fmodf.c deleted-10
...@@ -1,10 +0,0 @@
1#include <math.h>
2
3float fmodf(float x, float y)
4{
5 unsigned short fpsr;
6 // fprem does not introduce excess precision into x
7 do __asm__ ("fprem; fnstsw %%ax" : "+t"(x), "=a"(fpsr) : "u"(y));
8 while (fpsr & 0x400);
9 return x;
10}
lib/libc/musl/src/math/i386/fmodl.c deleted-9
...@@ -1,9 +0,0 @@
1#include <math.h>
2
3long double fmodl(long double x, long double y)
4{
5 unsigned short fpsr;
6 do __asm__ ("fprem; fnstsw %%ax" : "+t"(x), "=a"(fpsr) : "u"(y));
7 while (fpsr & 0x400);
8 return x;
9}
lib/libc/musl/src/math/x32/fmodl.s deleted-11
...@@ -1,11 +0,0 @@
1.global fmodl
2.type fmodl,@function
3fmodl:
4 fldt 24(%esp)
5 fldt 8(%esp)
61: fprem
7 fnstsw %ax
8 testb $4,%ah
9 jnz 1b
10 fstp %st(1)
11 ret
lib/libc/musl/src/math/x86_64/fmodl.c deleted-9
...@@ -1,9 +0,0 @@
1#include <math.h>
2
3long double fmodl(long double x, long double y)
4{
5 unsigned short fpsr;
6 do __asm__ ("fprem; fnstsw %%ax" : "+t"(x), "=a"(fpsr) : "u"(y));
7 while (fpsr & 0x400);
8 return x;
9}
src/libs/mingw.zig-2
...@@ -966,7 +966,6 @@ const mingw32_x86_src = [_][]const u8{...@@ -966,7 +966,6 @@ const mingw32_x86_src = [_][]const u8{
966 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "exp2l.S",966 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "exp2l.S",
967 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expl.c",967 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expl.c",
968 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expm1l.c",968 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expm1l.c",
969 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "fmodl.c",
970 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "fucom.c",969 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "fucom.c",
971 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ilogbl.S",970 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ilogbl.S",
972 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "internal_logl.S",971 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "internal_logl.S",
...@@ -1005,7 +1004,6 @@ const mingw32_x86_32_src = [_][]const u8{...@@ -1005,7 +1004,6 @@ const mingw32_x86_32_src = [_][]const u8{
1005 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "asinf.c",1004 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "asinf.c",
1006 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atan2f.c",1005 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atan2f.c",
1007 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atanf.c",1006 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atanf.c",
1008 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "fmodf.c",
1009};1007};
10101008
1011const mingw32_arm_src = [_][]const u8{1009const mingw32_arm_src = [_][]const u8{
src/libs/musl.zig-5
...@@ -924,9 +924,6 @@ const src_files = [_][]const u8{...@@ -924,9 +924,6 @@ const src_files = [_][]const u8{
924 "musl/src/math/i386/exp_ld.s",924 "musl/src/math/i386/exp_ld.s",
925 "musl/src/math/i386/expl.s",925 "musl/src/math/i386/expl.s",
926 "musl/src/math/i386/expm1l.s",926 "musl/src/math/i386/expm1l.s",
927 "musl/src/math/i386/fmod.c",
928 "musl/src/math/i386/fmodf.c",
929 "musl/src/math/i386/fmodl.c",
930 "musl/src/math/i386/hypotf.s",927 "musl/src/math/i386/hypotf.s",
931 "musl/src/math/i386/hypot.s",928 "musl/src/math/i386/hypot.s",
932 "musl/src/math/i386/__invtrigl.s",929 "musl/src/math/i386/__invtrigl.s",
...@@ -1147,7 +1144,6 @@ const src_files = [_][]const u8{...@@ -1147,7 +1144,6 @@ const src_files = [_][]const u8{
1147 "musl/src/math/x32/expm1l.s",1144 "musl/src/math/x32/expm1l.s",
1148 "musl/src/math/x32/fma.c",1145 "musl/src/math/x32/fma.c",
1149 "musl/src/math/x32/fmaf.c",1146 "musl/src/math/x32/fmaf.c",
1150 "musl/src/math/x32/fmodl.s",
1151 "musl/src/math/x32/__invtrigl.s",1147 "musl/src/math/x32/__invtrigl.s",
1152 "musl/src/math/x32/llrintf.s",1148 "musl/src/math/x32/llrintf.s",
1153 "musl/src/math/x32/llrintl.s",1149 "musl/src/math/x32/llrintl.s",
...@@ -1173,7 +1169,6 @@ const src_files = [_][]const u8{...@@ -1173,7 +1169,6 @@ const src_files = [_][]const u8{
1173 "musl/src/math/x86_64/expm1l.s",1169 "musl/src/math/x86_64/expm1l.s",
1174 "musl/src/math/x86_64/fma.c",1170 "musl/src/math/x86_64/fma.c",
1175 "musl/src/math/x86_64/fmaf.c",1171 "musl/src/math/x86_64/fmaf.c",
1176 "musl/src/math/x86_64/fmodl.c",
1177 "musl/src/math/x86_64/__invtrigl.s",1172 "musl/src/math/x86_64/__invtrigl.s",
1178 "musl/src/math/x86_64/llrint.c",1173 "musl/src/math/x86_64/llrint.c",
1179 "musl/src/math/x86_64/llrintf.c",1174 "musl/src/math/x86_64/llrintf.c",