Merge branch 'master' of git://git.etalabs.net/musl
This commit is contained in:
commit
c5ec5b2ce9
3 changed files with 103 additions and 6 deletions
45
src/math/i386/hypot.s
Normal file
45
src/math/i386/hypot.s
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
.global hypot
|
||||
.type hypot,@function
|
||||
hypot:
|
||||
mov 8(%esp),%eax
|
||||
mov 16(%esp),%ecx
|
||||
add %eax,%eax
|
||||
add %ecx,%ecx
|
||||
and %eax,%ecx
|
||||
cmp $0xffe00000,%ecx
|
||||
jae 2f
|
||||
or 4(%esp),%eax
|
||||
jnz 1f
|
||||
fldl 12(%esp)
|
||||
fabs
|
||||
ret
|
||||
1: mov 16(%esp),%eax
|
||||
add %eax,%eax
|
||||
or 12(%esp),%eax
|
||||
jnz 1f
|
||||
fldl 4(%esp)
|
||||
fabs
|
||||
ret
|
||||
1: fldl 4(%esp)
|
||||
fld %st(0)
|
||||
fmulp
|
||||
fldl 12(%esp)
|
||||
fld %st(0)
|
||||
fmulp
|
||||
faddp
|
||||
fsqrt
|
||||
ret
|
||||
2: sub $0xffe00000,%eax
|
||||
or 4(%esp),%eax
|
||||
jnz 1f
|
||||
fldl 4(%esp)
|
||||
fabs
|
||||
ret
|
||||
1: mov 16(%esp),%eax
|
||||
add %eax,%eax
|
||||
sub $0xffe00000,%eax
|
||||
or 12(%esp),%eax
|
||||
fldl 12(%esp)
|
||||
jnz 1f
|
||||
fabs
|
||||
1: ret
|
||||
42
src/math/i386/hypotf.s
Normal file
42
src/math/i386/hypotf.s
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
.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
|
||||
Loading…
Add table
Add a link
Reference in a new issue