newlib-cygwin/winsup/mingw/mingwex/math/nearbyint.S

31 lines
554 B
ArmAsm

/*
* Written by J.T. Conklin <jtc@netbsd.org>.
* Public domain.
*
* Adapted for use as nearbyint by Ulrich Drepper <drepper@cygnus.com>.
*
* Removed header file dependency for use in libmingwex.a by
* Danny Smith <dannysmith@users.sourceforge.net>
*/
.file "nearbyint.S"
.text
.align 4
.globl _nearbyint
.def _nearbyint; .scl 2; .type 32; .endef
_nearbyint:
fldl 4(%esp)
pushl %eax
pushl %ecx
fnstcw (%esp)
movl (%esp), %eax
orl $0x20, %eax
movl %eax, 4(%esp)
fldcw 4(%esp)
frndint
fclex
fldcw (%esp)
popl %ecx
popl %eax
ret