@ -68,21 +68,19 @@ exp:
.type exp2,@function
exp2:
fldl 4(%esp)
1: mov $0x47000000,%eax
1: pushl $0x467ff000
push %eax
flds (%esp)
shl $7,%eax
xorl %eax,%eax
pushl $0x80000000
add %eax,%eax
fld %st(1)
fabs
fucom %st(1)
fnstsw
sahf
ja 2f
fstp %st(0)
fld %st(0)
fistpl 8(%esp)
fildl 8(%esp)
@ -99,22 +97,23 @@ exp2:
add $12,%esp
ret
2: fstp %st(0)
2: fld %st(0)
fstpt (%esp)
fsts 8(%esp)
mov 9(%esp),%ah
mov 8(%esp),%eax
and $0x7f,%ah
lea (%eax,%eax),%ecx
cmp $0x7f,%ah
cmp $0xff000000,%ecx
jne 1f
decb 9(%esp)
xor %ecx,%ecx
inc %ecx
jc 1f
mov $0x7ffe,%ecx
1: mov %ecx,8(%esp)
fldt (%esp)
1: fld %st(0)
fmulp
frndint
2: add $12,%esp
fxch %st(1)
fsub %st(1)
f2xm1
fld1
faddp
fscale
fstp %st(1)