Deleted Added
full compact
ieeefp.h (143658) ieeefp.h (144968)
1/*-
2 * Copyright (c) 2003 Peter Wemm.
3 * Copyright (c) 1990 Andrew Moore, Talke Studio
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

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

27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 * SUCH DAMAGE.
33 *
34 * from: @(#) ieeefp.h 1.0 (Berkeley) 9/23/93
1/*-
2 * Copyright (c) 2003 Peter Wemm.
3 * Copyright (c) 1990 Andrew Moore, Talke Studio
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

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

27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 * SUCH DAMAGE.
33 *
34 * from: @(#) ieeefp.h 1.0 (Berkeley) 9/23/93
35 * $FreeBSD: head/sys/amd64/include/ieeefp.h 143658 2005-03-15 15:53:39Z das $
35 * $FreeBSD: head/sys/amd64/include/ieeefp.h 144968 2005-04-12 23:12:00Z jhb $
36 */
37
38/*
39 * IEEE floating point type and constant definitions.
40 */
41
42#ifndef _MACHINE_IEEEFP_H_
43#define _MACHINE_IEEEFP_H_

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

121#define SSE_RND_OFF 13 /* rounding control offset */
122#define SSE_FZ_OFF 15 /* flush to zero offset */
123
124#if defined(__GNUCLIKE_ASM) && defined(__CC_SUPPORTS___INLINE__) \
125 && !defined(__cplusplus)
126
127#define __fldenv(addr) __asm __volatile("fldenv %0" : : "m" (*(addr)))
128#define __fnstenv(addr) __asm __volatile("fnstenv %0" : "=m" (*(addr)))
36 */
37
38/*
39 * IEEE floating point type and constant definitions.
40 */
41
42#ifndef _MACHINE_IEEEFP_H_
43#define _MACHINE_IEEEFP_H_

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

121#define SSE_RND_OFF 13 /* rounding control offset */
122#define SSE_FZ_OFF 15 /* flush to zero offset */
123
124#if defined(__GNUCLIKE_ASM) && defined(__CC_SUPPORTS___INLINE__) \
125 && !defined(__cplusplus)
126
127#define __fldenv(addr) __asm __volatile("fldenv %0" : : "m" (*(addr)))
128#define __fnstenv(addr) __asm __volatile("fnstenv %0" : "=m" (*(addr)))
129#define __fldcw(addr) __asm __volatile("fldcw %0" : "=m" (*(addr)))
129#define __fldcw(addr) __asm __volatile("fldcw %0" : : "m" (*(addr)))
130#define __fnstcw(addr) __asm __volatile("fnstcw %0" : "=m" (*(addr)))
131#define __fnstsw(addr) __asm __volatile("fnstsw %0" : "=m" (*(addr)))
130#define __fnstcw(addr) __asm __volatile("fnstcw %0" : "=m" (*(addr)))
131#define __fnstsw(addr) __asm __volatile("fnstsw %0" : "=m" (*(addr)))
132#define __ldmxcsr(addr) __asm __volatile("ldmxcsr %0" : "=m" (*(addr)))
132#define __ldmxcsr(addr) __asm __volatile("ldmxcsr %0" : : "m" (*(addr)))
133#define __stmxcsr(addr) __asm __volatile("stmxcsr %0" : "=m" (*(addr)))
134
135/*
136 * General notes about conflicting SSE vs FP status bits.
137 * This code assumes that software will not fiddle with the control
138 * bits of the SSE and x87 in such a way to get them out of sync and
139 * still expect this to work. Break this at your peril.
140 * Because I based this on the i386 port, the x87 state is used for

--- 140 unchanged lines hidden ---
133#define __stmxcsr(addr) __asm __volatile("stmxcsr %0" : "=m" (*(addr)))
134
135/*
136 * General notes about conflicting SSE vs FP status bits.
137 * This code assumes that software will not fiddle with the control
138 * bits of the SSE and x87 in such a way to get them out of sync and
139 * still expect this to work. Break this at your peril.
140 * Because I based this on the i386 port, the x87 state is used for

--- 140 unchanged lines hidden ---