This work is based in part on code from NetBSD libm, libc and kernel. The library is partly public domain and partly BSD-style licensed.
25 lines
471 B
ArmAsm
25 lines
471 B
ArmAsm
/* $NetBSD: fpgetround.S,v 1.4 2011/09/30 17:42:34 christos Exp $ */
|
|
|
|
/*
|
|
* Written by J.T. Conklin, Apr 4, 1995
|
|
* Public domain.
|
|
*/
|
|
|
|
#include <machine/asm.h>
|
|
|
|
/*
|
|
* XXX load only x87 state. If an application only uses the fp*
|
|
* interface, this should be in sync with the SSE mxcsr register.
|
|
*/
|
|
|
|
#ifdef WEAK_ALIAS
|
|
WEAK_ALIAS(fpgetround, _fpgetround)
|
|
ENTRY(_fpgetround)
|
|
#else
|
|
ENTRY(fpgetround)
|
|
#endif
|
|
fnstcw -4(%rsp)
|
|
movl -4(%rsp), %eax
|
|
andl $0x00000c00, %eax
|
|
ret
|