Home | History | Annotate | Line # | Download | only in gen
      1 /*	$NetBSD: fpsetprec.S,v 1.2 2014/05/23 02:34:19 uebayasi Exp $	*/
      2 
      3 /*
      4  * Written by Charles M. Hannum, Apr 9, 1995
      5  * Public domain.
      6  */
      7 
      8 #include <machine/asm.h>
      9 
     10 #ifdef WEAK_ALIAS
     11 WEAK_ALIAS(fpsetprec, _fpsetprec)
     12 ENTRY(_fpsetprec)
     13 #else
     14 ENTRY(fpsetprec)
     15 #endif
     16 	subl $4,%esp
     17 
     18 	fnstcw (%esp)
     19 	movl (%esp),%eax
     20 
     21 	rorl $8,%eax
     22 	movl %eax,%edx
     23 	andl $3,%eax
     24 
     25 	subl %eax,%edx
     26 	movl 8(%esp),%ecx
     27 	andl $3,%ecx
     28 	orl %ecx,%edx
     29 	roll $8,%edx
     30 	movl %edx,(%esp)
     31 	fldcw (%esp)
     32 
     33 	addl $4,%esp
     34 	ret
     35 #ifdef WEAK_ALIAS
     36 END(_fpsetprec)
     37 #else
     38 END(fpsetprec)
     39 #endif
     40