Deleted Added
full compact
fenv.h (266133) fenv.h (266314)
1/*-
2 * Copyright (c) 2004-2005 David Schultz <das@FreeBSD.ORG>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
1/*-
2 * Copyright (c) 2004-2005 David Schultz <das@FreeBSD.ORG>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD: stable/10/lib/msun/arm/fenv.h 266133 2014-05-15 15:02:48Z ian $
26 * $FreeBSD: stable/10/lib/msun/arm/fenv.h 266314 2014-05-17 14:22:37Z ian $
27 */
28
29#ifndef _FENV_H_
30#define _FENV_H_
31
32#include <sys/_types.h>
33
34#ifndef __fenv_static

--- 14 unchanged lines hidden (view full) ---

49#define FE_ALL_EXCEPT (FE_DIVBYZERO | FE_INEXACT | \
50 FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW | FE_DENORMAL)
51#else
52#define FE_ALL_EXCEPT (FE_DIVBYZERO | FE_INEXACT | \
53 FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW)
54#endif
55
56/* Rounding modes */
27 */
28
29#ifndef _FENV_H_
30#define _FENV_H_
31
32#include <sys/_types.h>
33
34#ifndef __fenv_static

--- 14 unchanged lines hidden (view full) ---

49#define FE_ALL_EXCEPT (FE_DIVBYZERO | FE_INEXACT | \
50 FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW | FE_DENORMAL)
51#else
52#define FE_ALL_EXCEPT (FE_DIVBYZERO | FE_INEXACT | \
53 FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW)
54#endif
55
56/* Rounding modes */
57#define VFP_FE_TONEAREST 0x00000000
58#define VFP_FE_UPWARD 0x00400000
59#define VFP_FE_DOWNWARD 0x00800000
60#define VFP_FE_TOWARDZERO 0x00c00000
61
57#ifdef __ARM_PCS_VFP
62#ifdef __ARM_PCS_VFP
58#define FE_TONEAREST 0x00000000
59#define FE_UPWARD 0x00400000
60#define FE_DOWNWARD 0x00800000
61#define FE_TOWARDZERO 0x00c00000
63#define FE_TONEAREST VFP_FE_TONEAREST
64#define FE_UPWARD VFP_FE_UPWARD
65#define FE_DOWNWARD VFP_FE_DOWNWARD
66#define FE_TOWARDZERO VFP_FE_TOWARDZERO
62#else
63#define FE_TONEAREST 0x0000
64#define FE_TOWARDZERO 0x0001
65#define FE_UPWARD 0x0002
66#define FE_DOWNWARD 0x0003
67#endif
68#define _ROUND_MASK (FE_TONEAREST | FE_DOWNWARD | \
69 FE_UPWARD | FE_TOWARDZERO)

--- 17 unchanged lines hidden (view full) ---

87int feraiseexcept(int __excepts);
88int fetestexcept(int __excepts);
89int fegetround(void);
90int fesetround(int __round);
91int fegetenv(fenv_t *__envp);
92int feholdexcept(fenv_t *__envp);
93int fesetenv(const fenv_t *__envp);
94int feupdateenv(const fenv_t *__envp);
67#else
68#define FE_TONEAREST 0x0000
69#define FE_TOWARDZERO 0x0001
70#define FE_UPWARD 0x0002
71#define FE_DOWNWARD 0x0003
72#endif
73#define _ROUND_MASK (FE_TONEAREST | FE_DOWNWARD | \
74 FE_UPWARD | FE_TOWARDZERO)

--- 17 unchanged lines hidden (view full) ---

92int feraiseexcept(int __excepts);
93int fetestexcept(int __excepts);
94int fegetround(void);
95int fesetround(int __round);
96int fegetenv(fenv_t *__envp);
97int feholdexcept(fenv_t *__envp);
98int fesetenv(const fenv_t *__envp);
99int feupdateenv(const fenv_t *__envp);
100#if __BSD_VISIBLE
101int feenableexcept(int __mask);
102int fedisableexcept(int __mask);
103int fegetexcept(void);
104#endif
95
96#else /* __ARM_PCS_VFP */
97
98#define vmrs_fpscr(__r) __asm __volatile("vmrs %0, fpscr" : "=&r"(__r))
99#define vmsr_fpscr(__r) __asm __volatile("vmsr fpscr, %0" : : "r"(__r))
100
101#define _FPU_MASK_SHIFT 8
102

--- 155 unchanged lines hidden ---
105
106#else /* __ARM_PCS_VFP */
107
108#define vmrs_fpscr(__r) __asm __volatile("vmrs %0, fpscr" : "=&r"(__r))
109#define vmsr_fpscr(__r) __asm __volatile("vmsr fpscr, %0" : : "r"(__r))
110
111#define _FPU_MASK_SHIFT 8
112

--- 155 unchanged lines hidden ---