| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 | /* FPU control word bits.  SPARC version.   Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.   This file is part of the GNU C Library.   Contributed by Miguel de Icaza   The GNU C Library is free software; you can redistribute it and/or   modify it under the terms of the GNU Lesser General Public   License as published by the Free Software Foundation; either   version 2.1 of the License, or (at your option) any later version.   The GNU C Library is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   Lesser General Public License for more details.   You should have received a copy of the GNU Lesser General Public   License along with the GNU C Library; if not, write to the Free   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA   02111-1307 USA.  */#ifndef _FPU_CONTROL_H#define _FPU_CONTROL_H	1#include <features.h>#include <bits/wordsize.h>/* masking of interrupts */#define _FPU_MASK_IM  0x08000000#define _FPU_MASK_OM  0x04000000#define _FPU_MASK_UM  0x02000000#define _FPU_MASK_ZM  0x01000000#define _FPU_MASK_PM  0x00800000/* precision control */#define _FPU_EXTENDED 0x00000000     /* RECOMMENDED */#define _FPU_DOUBLE   0x20000000#define _FPU_80BIT    0x30000000#define _FPU_SINGLE   0x10000000     /* DO NOT USE *//* rounding control / Sparc */#define _FPU_RC_DOWN    0xc0000000#define _FPU_RC_UP      0x80000000#define _FPU_RC_ZERO    0x40000000#define _FPU_RC_NEAREST 0x0        /* RECOMMENDED */#define _FPU_RESERVED   0x30300000  /* Reserved bits in cw *//* Now two recommended cw *//* Linux and IEEE default:     - extended precision     - rounding to nearest     - no exceptions  */#define _FPU_DEFAULT  0x0#define _FPU_IEEE     0x0/* Type of the control word.  */typedef unsigned long int fpu_control_t;#if __WORDSIZE == 64# define _FPU_GETCW(cw) __asm__ ("stx %%fsr,%0" : "=m" (*&cw))# define _FPU_SETCW(cw) __asm__ ("ldx %0,%%fsr" : : "m" (*&cw))#else# define _FPU_GETCW(cw) __asm__ ("st %%fsr,%0" : "=m" (*&cw))# define _FPU_SETCW(cw) __asm__ ("ld %0,%%fsr" : : "m" (*&cw))#endif#if 0/* Default control word set at startup.  */extern fpu_control_t __fpu_control;#endif#endif	/* fpu_control.h */
 |