blob: 068935e2d3466e714d53de737daed042a28c8827 [file] [log] [blame]
.global hypotf
.type hypotf,@function
hypotf:
mov 4(%esp),%eax
mov 8(%esp),%ecx
add %eax,%eax
add %ecx,%ecx
and %eax,%ecx
cmp $0xff000000,%ecx
jae 2f
test %eax,%eax
jnz 1f
flds 8(%esp)
fabs
ret
1: mov 8(%esp),%eax
add %eax,%eax
jnz 1f
flds 4(%esp)
fabs
ret
1: flds 4(%esp)
fld %st(0)
fmulp
flds 8(%esp)
fld %st(0)
fmulp
faddp
fsqrt
ret
2: cmp $0xff000000,%eax
jnz 1f
flds 4(%esp)
fabs
ret
1: mov 8(%esp),%eax
add %eax,%eax
cmp $0xff000000,%eax
flds 8(%esp)
jnz 1f
fabs
1: ret