2001-02-18  Ulrich Drepper  <drepper@redhat.com>

	* math/libm-test.inc (scalb_test): Require invalid exception being
	raised for invalid parameters.
	* sysdeps/i386/fpu/e_scalb.S: Raise invalid exception if necessary.
	* sysdeps/i386/fpu/e_scalbf.S: Likewise.
	* sysdeps/i386/fpu/e_scalbl.S: Likewise.
This commit is contained in:
Ulrich Drepper 2001-02-18 19:52:52 +00:00
parent 3667c08816
commit e208f556ca
4 changed files with 35 additions and 3 deletions

View File

@ -1,3 +1,11 @@
2001-02-18 Ulrich Drepper <drepper@redhat.com>
* math/libm-test.inc (scalb_test): Require invalid exception being
raised for invalid parameters.
* sysdeps/i386/fpu/e_scalb.S: Raise invalid exception if necessary.
* sysdeps/i386/fpu/e_scalbf.S: Likewise.
* sysdeps/i386/fpu/e_scalbl.S: Likewise.
2001-02-18 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/getsysstats.c (__get_phys_pages): Change return

View File

@ -56,7 +56,7 @@ ENTRY(__ieee754_scalb)
fcomp %st(2)
fnstsw
sahf
jne 2f
jne 4f
fscale
fstp %st(1)
ret
@ -75,6 +75,7 @@ ENTRY(__ieee754_scalb)
fstp %st
andl $0x80000000, %edx
andl $8, %eax
jnz 4f
shrl $27, %edx
addl %edx, %eax
fldl MOX(zero_nan, %eax, 1)
@ -95,4 +96,11 @@ ENTRY(__ieee754_scalb)
/* The first parameter is a NaN. Return it. */
3: fstp %st(1)
ret
/* Return NaN and raise the invalid exception. */
4: fstp %st
fstp %st
fldz
fdiv %st
ret
END(__ieee754_scalb)

View File

@ -58,7 +58,7 @@ ENTRY(__ieee754_scalbf)
fcomp %st(2)
fnstsw
sahf
jne 2f
jne 4f
fscale
fstp %st(1)
ret
@ -77,6 +77,7 @@ ENTRY(__ieee754_scalbf)
fstp %st
andl $0x80000000, %edx
andl $8, %eax
jnz 4f
shrl $27, %edx
addl %edx, %eax
fldl MOX(zero_nan, %eax, 1)
@ -97,4 +98,11 @@ ENTRY(__ieee754_scalbf)
/* The first parameter is a NaN. Return it. */
3: fstp %st(1)
ret
/* Return NaN and raise the invalid exception. */
4: fstp %st
fstp %st
fldz
fdiv %st
ret
END(__ieee754_scalbf)

View File

@ -58,7 +58,7 @@ ENTRY(__ieee754_scalbl)
fcomp %st(2)
fnstsw
sahf
jne 2f
jne 4f
fscale
fstp %st(1)
ret
@ -77,6 +77,7 @@ ENTRY(__ieee754_scalbl)
fstp %st
andl $0x8000, %edx
andl $8, %eax
jnz 4f
shrl $11, %edx
addl %edx, %eax
fldl MOX(zero_nan, %eax, 1)
@ -97,4 +98,11 @@ ENTRY(__ieee754_scalbl)
/* The first parameter is a NaN. Return it. */
3: fstp %st(1)
ret
/* Return NaN and raise the invalid exception. */
4: fstp %st
fstp %st
fldz
fdiv %st
ret
END(__ieee754_scalbl)