diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | sysdeps/i386/fpu/s_fdim.S | 17 | ||||
-rw-r--r-- | sysdeps/i386/fpu/s_fdimf.S | 17 | ||||
-rw-r--r-- | sysdeps/i386/fpu/s_fdiml.S | 17 |
4 files changed, 34 insertions, 25 deletions
diff --git a/ChangeLog b/ChangeLog index f95cc747f0..54c4c85c93 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,10 @@ -2004-09-29 Ulrich Drepper <drepper@redhat.com> +2004-09-29 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/i386/fpu/s_fdim.S (__fdim): Handle +inf/+inf. + * sysdeps/i386/fpu/s_fdimf.S (__fdimf): Likewise. + * sysdeps/i386/fpu/s_fdiml.S (__fdiml): Likewise. + +004-09-29 Ulrich Drepper <drepper@redhat.com> * grp/initgroups.c: Move compat_call implementation... * grp/compat-initgroups.c: ...to here. New file. diff --git a/sysdeps/i386/fpu/s_fdim.S b/sysdeps/i386/fpu/s_fdim.S index 559a814182..92deb15d85 100644 --- a/sysdeps/i386/fpu/s_fdim.S +++ b/sysdeps/i386/fpu/s_fdim.S @@ -1,5 +1,5 @@ /* Compute positive difference. - Copyright (C) 1997, 1999 Free Software Foundation, Inc. + Copyright (C) 1997, 1999, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -30,22 +30,23 @@ ENTRY(__fdim) sahf jp 1f - fsubrp %st, %st(1) - jc 2f + jc 3f - fstp %st(0) + fstp %st(1) fldz jmp 2f +3: fsubrp %st, %st(1) + ret + 1: fxam fnstsw andb $0x45, %ah cmpb $0x01, %ah - je 3f + je 2f fxch -3: fstp %st(1) - -2: ret +2: fstp %st(1) + ret END(__fdim) weak_alias (__fdim, fdim) diff --git a/sysdeps/i386/fpu/s_fdimf.S b/sysdeps/i386/fpu/s_fdimf.S index eb6ba5abc4..905cec2fae 100644 --- a/sysdeps/i386/fpu/s_fdimf.S +++ b/sysdeps/i386/fpu/s_fdimf.S @@ -1,5 +1,5 @@ /* Compute positive difference. - Copyright (C) 1997, 1999 Free Software Foundation, Inc. + Copyright (C) 1997, 1999, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -30,22 +30,23 @@ ENTRY(__fdimf) sahf jp 1f - fsubrp %st, %st(1) - jc 2f + jc 3f - fstp %st(0) + fstp %st(1) fldz jmp 2f +3: fsubrp %st, %st(1) + ret + 1: fxam fnstsw andb $0x45, %ah cmpb $0x01, %ah - je 3f + je 2f fxch -3: fstp %st(1) - -2: ret +2: fstp %st(1) + ret END(__fdimf) weak_alias (__fdimf, fdimf) diff --git a/sysdeps/i386/fpu/s_fdiml.S b/sysdeps/i386/fpu/s_fdiml.S index c4e9f15404..754b221de2 100644 --- a/sysdeps/i386/fpu/s_fdiml.S +++ b/sysdeps/i386/fpu/s_fdiml.S @@ -1,5 +1,5 @@ /* Compute positive difference. - Copyright (C) 1997, 1999 Free Software Foundation, Inc. + Copyright (C) 1997, 1999, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -30,22 +30,23 @@ ENTRY(__fdiml) sahf jp 1f - fsubrp %st, %st(1) - jc 2f + jc 3f - fstp %st(0) + fstp %st(1) fldz jmp 2f +3: fsubrp %st, %st(1) + ret + 1: fxam fnstsw andb $0x45, %ah cmpb $0x01, %ah - je 3f + je 2f fxch -3: fstp %st(1) - -2: ret +2: fstp %st(1) + ret END(__fdiml) weak_alias (__fdiml, fdiml) |