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 <sys/types.h>
10#include <machine/float.h>
11
12static const int map[] = {
13	1,	/* round to nearest */
14	0,	/* round to zero */
15	2,	/* round to positive infinity */
16	3	/* round to negative infinity */
17};
18
19int
20__flt_rounds()
21{
22	int x;
23
24	__asm("st %%fsr,%0" : "=m" (*&x));
25	return map[(x >> 30) & 0x03];
26}
27