scalbnl.s 422 B

1234567891011121314151617181920212223242526272829303132
  1. .global ldexpl
  2. .type ldexpl,@function
  3. ldexpl:
  4. nop
  5. .global scalblnl
  6. .type scalblnl,@function
  7. scalblnl:
  8. nop
  9. .global scalbnl
  10. .type scalbnl,@function
  11. scalbnl:
  12. mov 16(%esp),%eax
  13. add $0x3ffe,%eax
  14. cmp $0x7ffd,%eax
  15. jae 1f
  16. inc %eax
  17. fldt 4(%esp)
  18. mov %eax,12(%esp)
  19. mov $0x80000000,%eax
  20. mov %eax,8(%esp)
  21. xor %eax,%eax
  22. mov %eax,4(%esp)
  23. fldt 4(%esp)
  24. fmulp
  25. ret
  26. 1: fildl 16(%esp)
  27. fldt 4(%esp)
  28. fscale
  29. fstp %st(1)
  30. ret