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_scalb.S | 94 --------------------------------------------- 1 file changed, 94 deletions(-) delete mode 100644 sysdeps/libm-i387/e_scalb.S (limited to 'sysdeps/libm-i387/e_scalb.S') diff --git a/sysdeps/libm-i387/e_scalb.S b/sysdeps/libm-i387/e_scalb.S deleted file mode 100644 index 7ff5541e2f..0000000000 --- a/sysdeps/libm-i387/e_scalb.S +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Written by J.T. Conklin . - * Public domain. - * - * Correct handling of y==-inf - */ - -#include - -RCSID("$NetBSD: e_scalb.S,v 1.4 1995/05/08 23:49:52 jtc Exp $") - -#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_scalb) - fldl 12(%esp) - fxam - fnstsw - fldl 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 8(%esp), %edx - shrl $5, %eax - fstp %st - fstp %st - andl $0x80000000, %edx - andl $8, %eax - shrl $27, %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_scalb) -- cgit 1.4.1