1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/* $OpenBSD: fpgetmask.c,v 1.4 2014/04/18 15:09:52 guenther Exp $ */ /* * Written by Miodrag Vallat. Public domain */ #include <sys/types.h> #include <ieeefp.h> fp_except fpgetmask() { u_int64_t fpsr; __asm__ volatile("fstd %%fr0,0(%1)" : "=m" (fpsr) : "r" (&fpsr)); return ((fpsr >> 32) & 0x1f); }