summary refs log tree commit diff
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 2645d220ee..56b1456fcb 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))