Home | History | Annotate | Line # | Download | only in gen
      1  1.5  uebayasi /*	$NetBSD: fpgetround.S,v 1.5 2014/05/22 15:01:56 uebayasi Exp $	*/
      2  1.1      fvdl 
      3  1.1      fvdl /*
      4  1.1      fvdl  * Written by J.T. Conklin, Apr 4, 1995
      5  1.1      fvdl  * Public domain.
      6  1.1      fvdl  */
      7  1.1      fvdl 
      8  1.1      fvdl #include <machine/asm.h>
      9  1.3      fvdl 
     10  1.3      fvdl /*
     11  1.4  christos  * XXX load only x87 state. If an application only uses the fp*
     12  1.3      fvdl  * interface, this should be in sync with the SSE mxcsr register.
     13  1.3      fvdl  */
     14  1.1      fvdl 
     15  1.2   thorpej #ifdef WEAK_ALIAS
     16  1.2   thorpej WEAK_ALIAS(fpgetround, _fpgetround)
     17  1.2   thorpej ENTRY(_fpgetround)
     18  1.2   thorpej #else
     19  1.1      fvdl ENTRY(fpgetround)
     20  1.2   thorpej #endif
     21  1.1      fvdl 	fnstcw -4(%rsp)
     22  1.4  christos 	movl -4(%rsp), %eax
     23  1.4  christos 	andl $0x00000c00, %eax
     24  1.1      fvdl 	ret
     25  1.5  uebayasi #ifdef WEAK_ALIAS
     26  1.5  uebayasi END(_fpgetround)
     27  1.5  uebayasi #else
     28  1.5  uebayasi END(fpgetround)
     29  1.5  uebayasi #endif
     30