Skip to content
Snippets Groups Projects
Commit 3bb26600 authored by dtc's avatar dtc
Browse files

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.
parent 764ec478
No related branches found
No related tags found
No related merge requests found
### x86-assem.S -*- Mode: Asm; -*- ### 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> * Authors: Paul F. Werkowski <pw@snoopy.mv.com>
* Douglas T. Crosher * Douglas T. Crosher
...@@ -143,7 +143,11 @@ GNAME(call_into_lisp): ...@@ -143,7 +143,11 @@ GNAME(call_into_lisp):
movl (%esp),%eax # Load NPX control word movl (%esp),%eax # Load NPX control word
andl $0xfffff3ff,%eax # Set rounding mode to nearest andl $0xfffff3ff,%eax # Set rounding mode to nearest
#ifdef type_LongFloat
orl $0x00000300,%eax # Set precision to 64 bits orl $0x00000300,%eax # Set precision to 64 bits
#else
orl $0x00000200,%eax # Set precision to 53 bits
#endif
pushl %eax pushl %eax
fldcw (%esp) # Recover modes fldcw (%esp) # Recover modes
popl %eax popl %eax
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment