xref: /aosp_15_r20/external/musl/src/math/i386/remquo.s (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker.global remquof
2*c9945492SAndroid Build Coastguard Worker.type remquof,@function
3*c9945492SAndroid Build Coastguard Workerremquof:
4*c9945492SAndroid Build Coastguard Worker	mov 12(%esp),%ecx
5*c9945492SAndroid Build Coastguard Worker	flds 8(%esp)
6*c9945492SAndroid Build Coastguard Worker	flds 4(%esp)
7*c9945492SAndroid Build Coastguard Worker	mov 11(%esp),%dh
8*c9945492SAndroid Build Coastguard Worker	xor 7(%esp),%dh
9*c9945492SAndroid Build Coastguard Worker	jmp 1f
10*c9945492SAndroid Build Coastguard Worker
11*c9945492SAndroid Build Coastguard Worker.global remquol
12*c9945492SAndroid Build Coastguard Worker.type remquol,@function
13*c9945492SAndroid Build Coastguard Workerremquol:
14*c9945492SAndroid Build Coastguard Worker	mov 28(%esp),%ecx
15*c9945492SAndroid Build Coastguard Worker	fldt 16(%esp)
16*c9945492SAndroid Build Coastguard Worker	fldt 4(%esp)
17*c9945492SAndroid Build Coastguard Worker	mov 25(%esp),%dh
18*c9945492SAndroid Build Coastguard Worker	xor 13(%esp),%dh
19*c9945492SAndroid Build Coastguard Worker	jmp 1f
20*c9945492SAndroid Build Coastguard Worker
21*c9945492SAndroid Build Coastguard Worker.global remquo
22*c9945492SAndroid Build Coastguard Worker.type remquo,@function
23*c9945492SAndroid Build Coastguard Workerremquo:
24*c9945492SAndroid Build Coastguard Worker	mov 20(%esp),%ecx
25*c9945492SAndroid Build Coastguard Worker	fldl 12(%esp)
26*c9945492SAndroid Build Coastguard Worker	fldl 4(%esp)
27*c9945492SAndroid Build Coastguard Worker	mov 19(%esp),%dh
28*c9945492SAndroid Build Coastguard Worker	xor 11(%esp),%dh
29*c9945492SAndroid Build Coastguard Worker1:	fprem1
30*c9945492SAndroid Build Coastguard Worker	fnstsw %ax
31*c9945492SAndroid Build Coastguard Worker	sahf
32*c9945492SAndroid Build Coastguard Worker	jp 1b
33*c9945492SAndroid Build Coastguard Worker	fstp %st(1)
34*c9945492SAndroid Build Coastguard Worker	mov %ah,%dl
35*c9945492SAndroid Build Coastguard Worker	shr %dl
36*c9945492SAndroid Build Coastguard Worker	and $1,%dl
37*c9945492SAndroid Build Coastguard Worker	mov %ah,%al
38*c9945492SAndroid Build Coastguard Worker	shr $5,%al
39*c9945492SAndroid Build Coastguard Worker	and $2,%al
40*c9945492SAndroid Build Coastguard Worker	or %al,%dl
41*c9945492SAndroid Build Coastguard Worker	mov %ah,%al
42*c9945492SAndroid Build Coastguard Worker	shl $2,%al
43*c9945492SAndroid Build Coastguard Worker	and $4,%al
44*c9945492SAndroid Build Coastguard Worker	or %al,%dl
45*c9945492SAndroid Build Coastguard Worker	test %dh,%dh
46*c9945492SAndroid Build Coastguard Worker	jns 1f
47*c9945492SAndroid Build Coastguard Worker	neg %dl
48*c9945492SAndroid Build Coastguard Worker1:	movsbl %dl,%edx
49*c9945492SAndroid Build Coastguard Worker	mov %edx,(%ecx)
50*c9945492SAndroid Build Coastguard Worker	ret
51