Home | History | Annotate | Line # | Download | only in gen
fpsetsticky.c revision 1.2
      1 /*	$NetBSD: fpsetsticky.c,v 1.2 1996/09/16 18:10:52 jonathan Exp $	*/
      2 
      3 /*
      4  * Written by J.T. Conklin, Apr 11, 1995
      5  * Public domain.
      6  */
      7 
      8 #include <ieeefp.h>
      9 
     10 fp_except
     11 fpsetsticky(sticky)
     12 	fp_except sticky;
     13 {
     14 	fp_except old;
     15 	fp_except new;
     16 
     17 	__asm__("cfc1 %0,$31" : "=r" (old));
     18 
     19 	new = old;
     20 	new &= ~(0x1f << 2);
     21 	new |= ((sticky & 0x1f) << 2);
     22 
     23 	__asm__("ctc1 %0,$31" : : "r" (new));
     24 
     25 	return (old >> 2) & 0x1f;
     26 }
     27