X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fmath%2Fi386%2Fscalbnl.s;h=54414c2e9837a6be2b956a2b80e89f6667c082ea;hb=be81f51030d90de8d5eb0b65dbdab3032d5cae23;hp=224b1befe5606cd92c03ed37eb54243c456c5a8f;hpb=58ff9e8eaf99f2294232be860daa2ca6f3674faf;p=musl diff --git a/src/math/i386/scalbnl.s b/src/math/i386/scalbnl.s index 224b1bef..54414c2e 100644 --- a/src/math/i386/scalbnl.s +++ b/src/math/i386/scalbnl.s @@ -11,7 +11,21 @@ scalblnl: .global scalbnl .type scalbnl,@function scalbnl: - fildl 16(%esp) + mov 16(%esp),%eax + add $0x3ffe,%eax + cmp $0x7ffd,%eax + jae 1f + inc %eax + fldt 4(%esp) + mov %eax,12(%esp) + mov $0x80000000,%eax + mov %eax,8(%esp) + xor %eax,%eax + mov %eax,4(%esp) + fldt 4(%esp) + fmulp + ret +1: fildl 16(%esp) fldt 4(%esp) fscale fstp %st(1)