freebsd-nq/lib/libc/mips/gen/fpsetround.c
Warner Losh d7ee48f115 Bring in initial libc support for mips. These files were taken from
the OpenBSD tree and should be considered preliminary.  They are here
to facilitate building of the tree.
1999-03-03 07:06:17 +00:00

29 lines
429 B
C

/*
* Written by J.T. Conklin, Apr 11, 1995
* Public domain.
*/
#if defined(LIBC_SCCS) && !defined(lint)
static char rcsid[] = "$OpenBSD$";
#endif /* LIBC_SCCS and not lint */
#include <ieeefp.h>
fp_rnd
fpsetround(rnd_dir)
fp_rnd rnd_dir;
{
fp_rnd old;
fp_rnd new;
__asm__("cfc1 %0,$31" : "=r" (old));
new = old;
new &= ~0x03;
new |= (rnd_dir & 0x03);
__asm__("ctc1 %0,$31" : : "r" (new));
return old & 0x03;
}