xref: /aosp_15_r20/external/musl/src/math/i386/hypotf.s (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker.global hypotf
2*c9945492SAndroid Build Coastguard Worker.type hypotf,@function
3*c9945492SAndroid Build Coastguard Workerhypotf:
4*c9945492SAndroid Build Coastguard Worker	mov 4(%esp),%eax
5*c9945492SAndroid Build Coastguard Worker	mov 8(%esp),%ecx
6*c9945492SAndroid Build Coastguard Worker	add %eax,%eax
7*c9945492SAndroid Build Coastguard Worker	add %ecx,%ecx
8*c9945492SAndroid Build Coastguard Worker	and %eax,%ecx
9*c9945492SAndroid Build Coastguard Worker	cmp $0xff000000,%ecx
10*c9945492SAndroid Build Coastguard Worker	jae 2f
11*c9945492SAndroid Build Coastguard Worker	test %eax,%eax
12*c9945492SAndroid Build Coastguard Worker	jnz 1f
13*c9945492SAndroid Build Coastguard Worker	flds 8(%esp)
14*c9945492SAndroid Build Coastguard Worker	fabs
15*c9945492SAndroid Build Coastguard Worker	ret
16*c9945492SAndroid Build Coastguard Worker1:	mov 8(%esp),%eax
17*c9945492SAndroid Build Coastguard Worker	add %eax,%eax
18*c9945492SAndroid Build Coastguard Worker	jnz 1f
19*c9945492SAndroid Build Coastguard Worker	flds 4(%esp)
20*c9945492SAndroid Build Coastguard Worker	fabs
21*c9945492SAndroid Build Coastguard Worker	ret
22*c9945492SAndroid Build Coastguard Worker1:	flds 4(%esp)
23*c9945492SAndroid Build Coastguard Worker	fld %st(0)
24*c9945492SAndroid Build Coastguard Worker	fmulp
25*c9945492SAndroid Build Coastguard Worker	flds 8(%esp)
26*c9945492SAndroid Build Coastguard Worker	fld %st(0)
27*c9945492SAndroid Build Coastguard Worker	fmulp
28*c9945492SAndroid Build Coastguard Worker	faddp
29*c9945492SAndroid Build Coastguard Worker	fsqrt
30*c9945492SAndroid Build Coastguard Worker	ret
31*c9945492SAndroid Build Coastguard Worker2:	cmp $0xff000000,%eax
32*c9945492SAndroid Build Coastguard Worker	jnz 1f
33*c9945492SAndroid Build Coastguard Worker	flds 4(%esp)
34*c9945492SAndroid Build Coastguard Worker	fabs
35*c9945492SAndroid Build Coastguard Worker	ret
36*c9945492SAndroid Build Coastguard Worker1:	mov 8(%esp),%eax
37*c9945492SAndroid Build Coastguard Worker	add %eax,%eax
38*c9945492SAndroid Build Coastguard Worker	cmp $0xff000000,%eax
39*c9945492SAndroid Build Coastguard Worker	flds 8(%esp)
40*c9945492SAndroid Build Coastguard Worker	jnz 1f
41*c9945492SAndroid Build Coastguard Worker	fabs
42*c9945492SAndroid Build Coastguard Worker1:	ret
43