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