diff options
author | nsz <nsz@port70.net> | 2012-03-23 11:16:56 +0100 |
---|---|---|
committer | nsz <nsz@port70.net> | 2012-03-23 11:16:56 +0100 |
commit | c5ec5b2ce93bd87eb3dbf966d8bf279089f8a35d (patch) | |
tree | 35a276d479538eb3898e47358e9e8eded63cf5cc /src/math/i386/hypotf.s | |
parent | 6d8df2b9720b7133a0735c9d5a2aae55021bb2c2 (diff) | |
parent | ad2d2b963a4bf9e2631b345c898e8715b36b459e (diff) | |
download | musl-c5ec5b2ce93bd87eb3dbf966d8bf279089f8a35d.tar.gz musl-c5ec5b2ce93bd87eb3dbf966d8bf279089f8a35d.tar.bz2 musl-c5ec5b2ce93bd87eb3dbf966d8bf279089f8a35d.tar.xz musl-c5ec5b2ce93bd87eb3dbf966d8bf279089f8a35d.zip |
Merge branch 'master' of git://git.etalabs.net/musl
Diffstat (limited to 'src/math/i386/hypotf.s')
-rw-r--r-- | src/math/i386/hypotf.s | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/math/i386/hypotf.s b/src/math/i386/hypotf.s new file mode 100644 index 00000000..068935e2 --- /dev/null +++ b/src/math/i386/hypotf.s @@ -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 |