diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2006-10-01 10:52:11 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2006-10-01 10:52:11 +0000 |
commit | b54f46e3e93c2b3688fb46634eda3690516a00ad (patch) | |
tree | ea1d2fa208cd4aa1067e25729045afa625fca5b4 /sys/arch/amd64/include | |
parent | 2c74780ce5f1897162a4e7ec24c1dea78b33f85e (diff) |
Switch fpu control word to the hardware default. This makes us use 64-bit
precision instead of 53-bit precision, giving us proper support for
"long double".
ok deraadt@
Diffstat (limited to 'sys/arch/amd64/include')
-rw-r--r-- | sys/arch/amd64/include/fpu.h | 24 |
1 files changed, 1 insertions, 23 deletions
diff --git a/sys/arch/amd64/include/fpu.h b/sys/arch/amd64/include/fpu.h index 57a2b19ef13..f7da949e8e0 100644 --- a/sys/arch/amd64/include/fpu.h +++ b/sys/arch/amd64/include/fpu.h @@ -1,4 +1,4 @@ -/* $OpenBSD: fpu.h,v 1.2 2004/02/28 22:26:05 deraadt Exp $ */ +/* $OpenBSD: fpu.h,v 1.3 2006/10/01 10:52:10 kettenis Exp $ */ /* $NetBSD: fpu.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $ */ #ifndef _AMD64_FPU_H_ @@ -42,28 +42,6 @@ struct savefpu { #define __INITIAL_MXCSR__ 0x1f80 #define __INITIAL_MXCSR_MASK__ 0xffbf -/* OpenBSD uses IEEE double precision. */ -#define __OpenBSD_NPXCW__ 0x127f -/* Linux just uses the default control word. */ -#define __Linux_NPXCW__ 0x037f - -/* - * The standard control word from finit is 0x37F, giving: - * round to nearest - * 64-bit precision - * all exceptions masked. - * - * Now we want: - * affine mode (if we decide to support 287's) - * round to nearest - * 53-bit precision - * all exceptions masked. - * - * 64-bit precision often gives bad results with high level languages - * because it makes the results of calculations depend on whether - * intermediate values are stored in memory or in FPU registers. - */ - #ifdef _KERNEL /* * XXX |