mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-11 13:50:06 +00:00
30891f35fa
We stopped adding "Contributed by" or similar lines in sources in 2012 in favour of git logs and keeping the Contributors section of the glibc manual up to date. Removing these lines makes the license header a bit more consistent across files and also removes the possibility of error in attribution when license blocks or files are copied across since the contributed-by lines don't actually reflect reality in those cases. Move all "Contributed by" and similar lines (Written by, Test by, etc.) into a new file CONTRIBUTED-BY to retain record of these contributions. These contributors are also mentioned in manual/contrib.texi, so we just maintain this additional record as a courtesy to the earlier developers. The following scripts were used to filter a list of files to edit in place and to clean up the CONTRIBUTED-BY file respectively. These were not added to the glibc sources because they're not expected to be of any use in future given that this is a one time task: https://gist.github.com/siddhesh/b5ecac94eabfd72ed2916d6d8157e7dc https://gist.github.com/siddhesh/15ea1f5e435ace9774f485030695ee02 Reviewed-by: Carlos O'Donell <carlos@redhat.com>
72 lines
2.2 KiB
C
72 lines
2.2 KiB
C
/* FPU control word bits. SPARC version.
|
|
Copyright (C) 1997-2021 Free Software Foundation, Inc.
|
|
This file is part of the GNU C Library.
|
|
|
|
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, see
|
|
<https://www.gnu.org/licenses/>. */
|
|
|
|
#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__ __volatile__ ("stx %%fsr,%0" : "=m" (*&cw))
|
|
# define _FPU_SETCW(cw) __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (*&cw))
|
|
#else
|
|
# define _FPU_GETCW(cw) __asm__ __volatile__ ("st %%fsr,%0" : "=m" (*&cw))
|
|
# define _FPU_SETCW(cw) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (*&cw))
|
|
#endif
|
|
|
|
/* Default control word set at startup. */
|
|
extern fpu_control_t __fpu_control;
|
|
|
|
#endif /* fpu_control.h */
|