Home | History | Annotate | Line # | Download | only in gen
fpsetsticky.c revision 1.1
      1  1.1  jtc /*
      2  1.1  jtc  * Written by J.T. Conklin, Apr 10, 1995
      3  1.1  jtc  * Public domain.
      4  1.1  jtc  */
      5  1.1  jtc 
      6  1.1  jtc #include <ieeefp.h>
      7  1.1  jtc 
      8  1.1  jtc fp_except
      9  1.1  jtc fpsetsticky(sticky)
     10  1.1  jtc 	fp_except sticky;
     11  1.1  jtc {
     12  1.1  jtc 	fp_except old;
     13  1.1  jtc 	fp_except new;
     14  1.1  jtc 
     15  1.1  jtc 	__asm__("st %%fsr,%0" : "=m" (*&old));
     16  1.1  jtc 
     17  1.1  jtc 	new = old;
     18  1.1  jtc 	new &= ~(0x1f << 5);
     19  1.1  jtc 	new |= ((sticky & 0x1f) << 5);
     20  1.1  jtc 
     21  1.1  jtc 	__asm__("ld %0,%%fsr" : : "m" (*&new));
     22  1.1  jtc 
     23  1.1  jtc 	return (old >> 5) & 0x1f;
     24  1.1  jtc }
     25