diff options
Diffstat (limited to 'sysdeps/i386')
-rw-r--r-- | sysdeps/i386/fpu/e_atan2l.S | 17 | ||||
-rw-r--r-- | sysdeps/i386/fpu/e_atan2l.c | 18 | ||||
-rw-r--r-- | sysdeps/i386/fpu/e_fmodl.S | 21 | ||||
-rw-r--r-- | sysdeps/i386/fpu/e_fmodl.c | 22 |
4 files changed, 40 insertions, 38 deletions
diff --git a/sysdeps/i386/fpu/e_atan2l.S b/sysdeps/i386/fpu/e_atan2l.S deleted file mode 100644 index f58eaa94a9..0000000000 --- a/sysdeps/i386/fpu/e_atan2l.S +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Written by J.T. Conklin <jtc@netbsd.org>. - * Public domain. - * - * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>. - */ - -#include <machine/asm.h> - -RCSID("$NetBSD: $") - -ENTRY(__ieee754_atan2l) - fldt 4(%esp) - fldt 16(%esp) - fpatan - ret -END (__ieee754_atan2l) diff --git a/sysdeps/i386/fpu/e_atan2l.c b/sysdeps/i386/fpu/e_atan2l.c new file mode 100644 index 0000000000..19a2a60621 --- /dev/null +++ b/sysdeps/i386/fpu/e_atan2l.c @@ -0,0 +1,18 @@ +/* + * Written by J.T. Conklin <jtc@netbsd.org>. + * Public domain. + * + * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>. + */ + +#include <math_private.h> + +long double +__ieee754_atan2l (long double y, long double x) +{ + long double res; + + asm ("fpatan" : "=t" (res) : "u" (y), "0" (x) : "st(1)"); + + return res; +} diff --git a/sysdeps/i386/fpu/e_fmodl.S b/sysdeps/i386/fpu/e_fmodl.S deleted file mode 100644 index 7ae63a40ab..0000000000 --- a/sysdeps/i386/fpu/e_fmodl.S +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Written by J.T. Conklin <jtc@netbsd.org>. - * Public domain. - * - * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>. - */ - -#include <machine/asm.h> - -RCSID("$NetBSD: $") - -ENTRY(__ieee754_fmodl) - fldt 16(%esp) - fldt 4(%esp) -1: fprem - fstsw %ax - sahf - jp 1b - fstp %st(1) - ret -END (__ieee754_fmodl) diff --git a/sysdeps/i386/fpu/e_fmodl.c b/sysdeps/i386/fpu/e_fmodl.c new file mode 100644 index 0000000000..c7c9a60456 --- /dev/null +++ b/sysdeps/i386/fpu/e_fmodl.c @@ -0,0 +1,22 @@ +/* + * Written by J.T. Conklin <jtc@netbsd.org>. + * Public domain. + * + * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>. + */ + +#include <math_private.h> + +long double +__ieee754_fmodl (long double x, long double y) +{ + long double res; + + asm ("1:\tfprem\n" + "fstsw %%ax\n" + "sahf\n" + "jp 1b\n" + "fstp %%st(1)" + : "=t" (res) : "0" (x), "u" (y) : "ax", "st(1)"); + return res; +} |