s_tan.S 501 B

1234567891011121314151617181920212223242526272829303132333435
  1. /*
  2. * Written by:
  3. * J.T. Conklin ([email protected])
  4. * Public domain.
  5. */
  6. #include <i387/bsd_asm.h>
  7. //__FBSDID("$FreeBSD: src/lib/msun/i387/s_tan.S,v 1.9 2011/01/07 16:13:12 kib Exp $")
  8. ENTRY(tan)
  9. fldl 4(%esp)
  10. fptan
  11. fnstsw %ax
  12. andw $0x400,%ax
  13. jnz 1f
  14. fstp %st(0)
  15. ret
  16. 1: fldpi
  17. fadd %st(0)
  18. fxch %st(1)
  19. 2: fprem1
  20. fstsw %ax
  21. andw $0x400,%ax
  22. jnz 2b
  23. fstp %st(1)
  24. fptan
  25. fstp %st(0)
  26. ret
  27. END(tan)
  28. /* Enable stack protection */
  29. #if defined(__ELF__)
  30. .section .note.GNU-stack,"",%progbits
  31. #endif