glibc/sysdeps/i386/fpu/s_cosf.S
Ulrich Drepper 87a27b3337 Update.
* sysdeps/i386/fpu/s_cosf.S: Domain of opcode is not large enough
	so test for overflow and handle it.
	* sysdeps/i386/fpu/s_sinf.S: Likewise.
	* sysdeps/i386/fpu/s_tanf.S: Likewise.
	Patch by Miloslav Trmac <mitr@volny.cz> (PR libc/1563).
2000-02-13 19:40:31 +00:00

30 lines
406 B
ArmAsm

/*
* Written by J.T. Conklin <jtc@netbsd.org>.
* Public domain.
*/
#include <machine/asm.h>
RCSID("$NetBSD: s_cosf.S,v 1.3 1995/05/08 23:55:16 jtc Exp $")
ENTRY(__cosf)
flds 4(%esp)
fcos
fnstsw %ax
testl $0x400,%eax
jnz 1f
ret
.align ALIGNARG(4)
1: fldpi
fadd %st(0)
fxch %st(1)
2: fprem1
fnstsw %ax
testl $0x400,%eax
jnz 2b
fstp %st(1)
fcos
ret
END (__cosf)
weak_alias (__cosf, cosf)