log1pf.s 347 B

1234567891011121314151617181920212223242526
  1. .global log1pf
  2. .type log1pf,@function
  3. log1pf:
  4. mov 4(%esp),%eax
  5. fldln2
  6. and $0x7fffffff,%eax
  7. flds 4(%esp)
  8. cmp $0x3e940000,%eax
  9. ja 1f
  10. cmp $0x00800000,%eax
  11. jb 2f
  12. fyl2xp1
  13. fstps 4(%esp)
  14. flds 4(%esp)
  15. ret
  16. 1: fld1
  17. faddp
  18. fyl2x
  19. fstps 4(%esp)
  20. flds 4(%esp)
  21. ret
  22. # subnormal x, return x with underflow
  23. 2: fxch
  24. fmul %st(1)
  25. fstps 4(%esp)
  26. ret