asm for log1p
authorRich Felker <dalias@aerifal.cx>
Mon, 19 Mar 2012 14:59:41 +0000 (10:59 -0400)
committerRich Felker <dalias@aerifal.cx>
Mon, 19 Mar 2012 14:59:41 +0000 (10:59 -0400)
src/math/i386/log1p.s [new file with mode: 0644]
src/math/i386/log1pf.s [new file with mode: 0644]
src/math/i386/log1pl.s [new file with mode: 0644]

diff --git a/src/math/i386/log1p.s b/src/math/i386/log1p.s
new file mode 100644 (file)
index 0000000..9971e53
--- /dev/null
@@ -0,0 +1,15 @@
+.global log1p
+.type log1p,@function
+log1p:
+       mov 8(%esp),%eax
+       fldln2
+       and $0x7fffffff,%eax
+       fldl 4(%esp)
+       cmp $0x3fd28f00,%eax
+       ja 1f
+       fyl2xp1
+       ret
+1:     fld1
+       faddp
+       fyl2x
+       ret
diff --git a/src/math/i386/log1pf.s b/src/math/i386/log1pf.s
new file mode 100644 (file)
index 0000000..2680a8a
--- /dev/null
@@ -0,0 +1,15 @@
+.global log1pf
+.type log1pf,@function
+log1pf:
+       mov 4(%esp),%eax
+       fldln2
+       and $0x7fffffff,%eax
+       flds 4(%esp)
+       cmp $0x3e940000,%eax
+       ja 1f
+       fyl2xp1
+       ret
+1:     fld1
+       faddp
+       fyl2x
+       ret
diff --git a/src/math/i386/log1pl.s b/src/math/i386/log1pl.s
new file mode 100644 (file)
index 0000000..a048ab6
--- /dev/null
@@ -0,0 +1,15 @@
+.global log1pl
+.type log1pl,@function
+log1pl:
+       mov 10(%esp),%eax
+       fldln2
+       and $0x7fffffff,%eax
+       fldt 4(%esp)
+       cmp $0x3ffd9400,%eax
+       ja 1f
+       fyl2xp1
+       ret
+1:     fld1
+       faddp
+       fyl2x
+       ret