fpsetmask.c revision 103324
1/* 2 * Written by J.T. Conklin, Apr 10, 1995 3 * Public domain. 4 */ 5 6#include <sys/cdefs.h> 7__FBSDID("$FreeBSD: head/lib/libc/sparc64/gen/fpsetmask.c 103324 2002-09-14 18:07:03Z tmm $"); 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