Update.
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:
parent
3667c08816
commit
e208f556ca
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user