aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/i386/fpu/s_frexpl.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/i386/fpu/s_frexpl.S')
-rw-r--r--sysdeps/i386/fpu/s_frexpl.S23
1 files changed, 2 insertions, 21 deletions
diff --git a/sysdeps/i386/fpu/s_frexpl.S b/sysdeps/i386/fpu/s_frexpl.S
index 2645d22..56b1456 100644
--- a/sysdeps/i386/fpu/s_frexpl.S
+++ b/sysdeps/i386/fpu/s_frexpl.S
@@ -1,5 +1,5 @@
/* ix87 specific frexp implementation for long double.
- Copyright (C) 1997, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -32,12 +32,6 @@
ASM_TYPE_DIRECTIVE(two64,@object)
two64: .byte 0, 0, 0, 0, 0, 0, 0xf0, 0x43
ASM_SIZE_DIRECTIVE(two64)
- /* The following is LDBL_MAX / ldexp (1.0, 64), the largest
- number we can handle the normal way. */
- ASM_TYPE_DIRECTIVE(largest,@object)
-largest:
- .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbe, 0x7f, 0, 0
- ASM_SIZE_DIRECTIVE(largest)
#ifdef PIC
#define MO(op) op##@GOTOFF(%edx)
@@ -67,10 +61,7 @@ ENTRY (BP_SYM (__frexpl))
je 1f
cmpl $0, %eax
- je 2f
-
- cmpl $0x7fbe, %eax
- ja 4f
+ jne 2f
fldt VAL0(%esp)
#ifdef PIC
@@ -102,15 +93,5 @@ ENTRY (BP_SYM (__frexpl))
LEAVE
ret
-
-4: movl VAL2(%esp), %ecx
- movl %ecx, %edx
- andl $0x7fff, %ecx
-
- andl $0x8000, %edx
- subl $16382, %ecx
- orl $0x3ffe, %edx
- movl %edx, VAL2(%esp)
- jmp 1b
END (BP_SYM (__frexpl))
weak_alias (BP_SYM (__frexpl), BP_SYM (frexpl))