FPC(3C)FPC(3C)


NAME
     fpc, get_fpc_csr, set_fpc_csr, get_fpc_irr, swapRM, swapINX -
     Floating-point control registers

SYNOPSIS
     #include <sys/fpu.h>

     int get_fpc_csr(void);

     int set_fpc_csr(int csr);

     int get_fpc_irr(void);

     int swapRM(int x);

     int swapINX(int x);

DESCRIPTION
     These routines are to get and set the floating-point control registers
     of MIPS floating-point units.  All of these routines take and or
     return their values as 32-bit integers.

     The <sys/fpu.h> file contains unions for each of the control
     registers.  Each union contains a structure that breaks out the bit
     fields into the logical parts for each control register.  This file
     also contains constants for fields of the control registers.

     All implementations of MIPS floating-point have a control and status
     register and a implementation revision register.  The control and
     status register is returned by get_fpc_csr.  The set_fpc_csr routine
     sets the control and status register and returns the old value.  The
     implementation revision register is read-only and is returned by the
     get_fpc_irr routine.

     The swapRM routine sets only the rounding mode and returns the old
     rounding mode.  The routine swapINX sets only the sticky inexact bit
     and returns the old one.  The bits in the arguments and return values
     to swapRM and swapINX are right justified.

NOTES
     swapRM and swapINX are in libm.a . The link editor searches this
     library under the -lm option.