Home | History | Annotate | Line # | Download | only in gen
fpsetround.S revision 1.2.12.1
      1  1.2.12.1  nathanw /*	$NetBSD: fpsetround.S,v 1.2.12.1 2002/01/28 20:49:50 nathanw Exp $	*/
      2       1.2    perry 
      3       1.1  mycroft /*
      4       1.1  mycroft  * Written by Charles M. Hannum, Apr 9, 1995
      5       1.1  mycroft  * Public domain.
      6       1.1  mycroft  */
      7       1.1  mycroft 
      8       1.1  mycroft #include <machine/asm.h>
      9       1.1  mycroft 
     10  1.2.12.1  nathanw #ifdef WEAK_ALIAS
     11  1.2.12.1  nathanw WEAK_ALIAS(fpsetround, _fpsetround)
     12  1.2.12.1  nathanw ENTRY(_fpsetround)
     13  1.2.12.1  nathanw #else
     14       1.1  mycroft ENTRY(fpsetround)
     15  1.2.12.1  nathanw #endif
     16       1.1  mycroft 	subl $4,%esp
     17       1.1  mycroft 
     18       1.1  mycroft 	fnstcw (%esp)
     19       1.1  mycroft 	movl (%esp),%eax
     20       1.1  mycroft 
     21       1.1  mycroft 	rorl $10,%eax
     22       1.1  mycroft 	movl %eax,%edx
     23       1.1  mycroft 	andl $3,%eax
     24       1.1  mycroft 
     25       1.1  mycroft 	subl %eax,%edx
     26       1.1  mycroft 	movl 8(%esp),%ecx
     27       1.1  mycroft 	andl $3,%ecx
     28       1.1  mycroft 	orl %ecx,%edx
     29       1.1  mycroft 	roll $10,%edx
     30       1.1  mycroft 	movl %edx,(%esp)
     31       1.1  mycroft 	fldcw (%esp)
     32       1.1  mycroft 
     33       1.1  mycroft 	addl $4,%esp
     34       1.1  mycroft 	ret
     35