From 3bb2660049c030ae5b77cab051cb9e466c6ea859 Mon Sep 17 00:00:00 2001
From: dtc <dtc>
Date: Sat, 6 May 2000 16:55:53 +0000
Subject: [PATCH] Set the precision to 53 bits for a double-float build, rather
 than 64 bits as used by the long-float build. This corrects the handling of
 double-float-epsilon for the double-float build, and should also improve
 performance on some processors such as the AMD Athlon.

---
 lisp/x86-assem.S | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lisp/x86-assem.S b/lisp/x86-assem.S
index c11149149..36fef2a17 100644
--- a/lisp/x86-assem.S
+++ b/lisp/x86-assem.S
@@ -1,6 +1,6 @@
 ### x86-assem.S -*- Mode: Asm; -*-
 /**
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/x86-assem.S,v 1.17 1999/10/06 14:32:36 dtc Exp $
+ * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/x86-assem.S,v 1.18 2000/05/06 16:55:53 dtc Exp $
  *
  * Authors:	Paul F. Werkowski <pw@snoopy.mv.com>
  *		Douglas T. Crosher
@@ -143,7 +143,11 @@ GNAME(call_into_lisp):
 
 	movl	(%esp),%eax	# Load NPX control word
 	andl	$0xfffff3ff,%eax	# Set rounding mode to nearest
+#ifdef type_LongFloat
 	orl	$0x00000300,%eax	# Set precision to 64 bits
+#else
+	orl	$0x00000200,%eax	# Set precision to 53 bits
+#endif	
 	pushl	%eax
 	fldcw	(%esp)		# Recover modes
 	popl	%eax
-- 
GitLab