about summary refs log tree commit diff
path: root/src/math/i386/exp.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/math/i386/exp.s')
-rw-r--r--src/math/i386/exp.s9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/math/i386/exp.s b/src/math/i386/exp.s
index 18f6cd67..f4769d59 100644
--- a/src/math/i386/exp.s
+++ b/src/math/i386/exp.s
@@ -34,6 +34,15 @@ exp:
 .type exp2,@function
 exp2:
 	fldl 4(%esp)
+1:	fxam
+	fnstsw %ax
+	sahf
+	jnp 1f
+	jnc 1f
+	fstps 4(%esp)
+	mov $0xfe,%al
+	and %al,7(%esp)
+	flds 4(%esp)
 1:	fld %st(0)
 	frndint
 	fxch %st(1)