1*29cc2a2dSguenther /* $OpenBSD: fpgetround.c,v 1.5 2016/07/26 19:07:09 guenther Exp $ */ 2d5b3c078Smiod 3443998a4Ssmurph /* 4443998a4Ssmurph * Written by J.T. Conklin, Apr 10, 1995 5443998a4Ssmurph * Public domain. 6443998a4Ssmurph * Ported to 88k by Nivas Madhur. 7443998a4Ssmurph */ 8443998a4Ssmurph 9443998a4Ssmurph #include <ieeefp.h> 10443998a4Ssmurph 11443998a4Ssmurph fp_rnd fpgetround(void)12*29cc2a2dSguentherfpgetround(void) 13443998a4Ssmurph { 14443998a4Ssmurph int x; 15443998a4Ssmurph 160b514a07Smiod __asm__ volatile ("fldcr %0, %%fcr63" : "=r" (x)); 17443998a4Ssmurph return (x >> 14) & 0x03; 18443998a4Ssmurph } 19*29cc2a2dSguenther DEF_WEAK(fpgetround); 20