1207753Smm/* $NetBSD: fpgetround.c,v 1.5 2005/12/24 23:10:08 perry Exp $ */ 2207753Smm 3207753Smm/* 4207753Smm * Written by J.T. Conklin, Apr 10, 1995 5207753Smm * Public domain. 6207753Smm */ 7207753Smm 8207753Smm#include <sys/cdefs.h> 9207753Smm#if defined(LIBC_SCCS) && !defined(lint) 10207753Smm__RCSID("$NetBSD: fpgetround.c,v 1.5 2005/12/24 23:10:08 perry Exp $"); 11207753Smm#endif /* LIBC_SCCS and not lint */ 12207753Smm 13207753Smm#include "namespace.h" 14207753Smm 15207753Smm#include <ieeefp.h> 16207753Smm 17207753Smm#ifdef __weak_alias 18207753Smm__weak_alias(fpgetround,_fpgetround) 19207753Smm#endif 20207753Smm 21207753Smmfp_rnd 22207753Smmfpgetround(void) 23207753Smm{ 24207753Smm unsigned int x; 25207753Smm 26207753Smm __asm("st %%fsr,%0" : "=m" (*&x)); 27207753Smm return (x >> 30) & 0x03; 28207753Smm} 29207753Smm