/* $NetBSD: fpgetsticky.c,v 1.1 2004/07/24 19:09:29 chs Exp $ */ /* $OpenBSD: fpgetsticky.c,v 1.3 2002/10/21 18:41:05 mickey Exp $ */ /* * Written by Miodrag Vallat. Public domain */ #include #include fp_except fpgetsticky(void) { uint64_t fpsr; __asm__ __volatile__("fstd %%fr0,0(%1)" : "=m" (fpsr) : "r" (&fpsr)); return ((fpsr >> 59) & 0x1f); }