1/* 2 * Written by J.T. Conklin, Apr 10, 1995 3 * Public domain. 4 */ 5 6#include <sys/cdefs.h> 7__FBSDID("$FreeBSD$"); 8 9#include <machine/fsr.h> 10#include <ieeefp.h> 11 12fp_except_t 13fpsetmask(mask) 14 fp_except_t mask; 15{ 16 fp_except_t old; 17 fp_except_t new; 18 19 __asm__("st %%fsr,%0" : "=m" (old)); 20 21 new = old; 22 new &= ~FSR_TEM_MASK; 23 new |= FSR_TEM(mask & FSR_EXC_MASK); 24 25 __asm__("ld %0,%%fsr" : : "m" (new)); 26 27 return (FSR_GET_TEM(old)); 28} 29