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