1/*	$OpenBSD: fpsetmask.c,v 1.4 2013/01/05 11:20:55 miod Exp $	*/
2
3/*
4 * Written by J.T. Conklin, Apr 10, 1995
5 * Public domain.
6 * Porting to m88k by Nivas Madhur.
7 */
8
9#include <ieeefp.h>
10
11fp_except
12fpsetmask(mask)
13	fp_except mask;
14{
15	fp_except old;
16	fp_except new;
17
18	__asm__ volatile("fldcr %0, %%fcr63" : "=r" (old));
19
20	new = old;
21	new &= ~0x1f;		/* clear bottom 5 bits and */
22	new |= (mask & 0x1f);	/* set them to mask */
23
24	__asm__ volatile("fstcr %0, %%fcr63" : : "r" (new));
25
26	return (old & 0x1f);
27}
28