From abfbdde177c3a7155070dda1b2cdc8292054cc26 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 14 Jul 1999 00:54:57 +0000 Subject: Update. --- sysdeps/libm-i387/e_scalbl.S | 96 -------------------------------------------- 1 file changed, 96 deletions(-) delete mode 100644 sysdeps/libm-i387/e_scalbl.S (limited to 'sysdeps/libm-i387/e_scalbl.S') diff --git a/sysdeps/libm-i387/e_scalbl.S b/sysdeps/libm-i387/e_scalbl.S deleted file mode 100644 index 56cc833a56..0000000000 --- a/sysdeps/libm-i387/e_scalbl.S +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Written by J.T. Conklin . - * Public domain. - * - * Adapted for `long double' by Ulrich Drepper . - * - * Correct handling of y==-inf - */ - -#include - -RCSID("$NetBSD: $") - -#ifdef __ELF__ - .section .rodata -#else - .text -#endif - - .align ALIGNARG(4) - ASM_TYPE_DIRECTIVE(zero_nan,@object) -zero_nan: - .double 0.0 -nan: .byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f -minus_zero: - .byte 0, 0, 0, 0, 0, 0, 0, 0x80 - .byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f - ASM_SIZE_DIRECTIVE(zero_nan) - - -#ifdef PIC -#define MO(op) op##@GOTOFF(%ecx) -#define MOX(op,x,f) op##@GOTOFF(%ecx,x,f) -#else -#define MO(op) op -#define MOX(op,x,f) op(,x,f) -#endif - - .text -ENTRY(__ieee754_scalbl) - fldt 16(%esp) - fxam - fnstsw - fldt 4(%esp) - andl $0x4700, %eax - cmpl $0x0700, %eax - je 1f - andl $0x4500, %eax - cmpl $0x0100, %eax - je 2f - fxam - fnstsw - andl $0x4500, %eax - cmpl $0x0100, %eax - je 2f - fld %st(1) - frndint - fcomp %st(2) - fnstsw - sahf - jne 2f - fscale - fstp %st(1) - ret - - /* y is -inf */ -1: fxam -#ifdef PIC - call 1f -1: popl %ecx - addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx -#endif - fnstsw - movl 12(%esp), %edx - shrl $5, %eax - fstp %st - fstp %st - andl $0x8000, %edx - andl $8, %eax - shrl $11, %edx - addl %edx, %eax - fldl MOX(zero_nan, %eax, 1) - ret - - /* The result is NaN, but we must not raise an exception. - So use a variable. */ -2: fstp %st - fstp %st -#ifdef PIC - call 1f -1: popl %ecx - addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx -#endif - fldl MO(nan) - ret -END(__ieee754_scalbl) -- cgit v1.2.1