summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/i386/sin.S
blob: 404bf5eedd56443702d605dd214a98b678834f1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

.text

.global sinf,sin,sinl
.type   sinf,@function
.type   sin,@function
.type   sinl,@function
sinf:
        flds    4(%esp)
	jmp	1f
sin:
        fldl    4(%esp)
1:	fsin
	fnstsw	%ax
	testb	$0x04, %ah
	je	3f
	fldpi
	fadd	%st
	fxch	%st(1)
2:	fprem1
	fnstsw	%ax
	testb	$0x04, %ah
	jne	2b
	fstp	%st(1)
        fsin
3:	ret
sinl:
        fldt    4(%esp)
	jmp	1b

.ende:
.size    sin,.ende-sin
.size    sinf,.ende-sinf
.size    sinl,.ende-sinl