e_remainderf.S 588 B

1234567891011121314151617181920212223242526272829
  1. /*
  2. * Based on the i387 version written by J.T. Conklin <[email protected]>.
  3. * Public domain.
  4. */
  5. #include <amd64/bsd_asm.h>
  6. //RCSID("from: $NetBSD: e_remainderf.S,v 1.2 1995/05/08 23:49:47 jtc Exp $")
  7. //__FBSDID("$FreeBSD: src/lib/msun/amd64/e_remainderf.S,v 1.2 2011/01/07 16:13:12 kib Exp $")
  8. ENTRY(remainderf)
  9. movss %xmm0,-4(%rsp)
  10. movss %xmm1,-8(%rsp)
  11. flds -8(%rsp)
  12. flds -4(%rsp)
  13. 1: fprem1
  14. fstsw %ax
  15. testw $0x400,%ax
  16. jne 1b
  17. fstps -4(%rsp)
  18. movss -4(%rsp),%xmm0
  19. fstp %st
  20. ret
  21. /* Enable stack protection */
  22. #if defined(__ELF__)
  23. .section .note.GNU-stack,"",%progbits
  24. #endif