grrr...fix reverse chronological order
[dragonfly.git] / lib / libcr / mips / gen / fpsetround.c
1 /*
2  * Written by J.T. Conklin, Apr 11, 1995
3  * Public domain.
4  */
5
6 #if defined(LIBC_SCCS) && !defined(lint)
7 static char rcsid[] = "$OpenBSD$";
8 #endif /* LIBC_SCCS and not lint */
9
10 #include <ieeefp.h>
11
12 fp_rnd
13 fpsetround(rnd_dir)
14         fp_rnd rnd_dir;
15 {
16         fp_rnd old;
17         fp_rnd new;
18
19         __asm__("cfc1 %0,$31" : "=r" (old));
20
21         new = old;
22         new &= ~0x03;
23         new |= (rnd_dir & 0x03);
24
25         __asm__("ctc1 %0,$31" : : "r" (new));
26
27         return old & 0x03;
28 }