From 36b8abb92fe10fd8b4128ae6bd17efa45f70b7e1 Mon Sep 17 00:00:00 2001
From: rtoy <rtoy>
Date: Tue, 11 Aug 2009 18:32:55 +0000
Subject: [PATCH] Some symbol cleanups.

code/exports.lisp:
o Import STREAM:SET-SYSTEM-EXTERNAL-FORMAT into the EXT package.
o Define and export %sin-quick, %cos-quick, and %tan-quick only for
  x87 builds.

compiler/float-tran.lisp:
o Only apply defknowns and deftransforms for %sin-quick, %cos-quick,
  and %tan-quick for x87 builds.
---
 code/exports.lisp        | 17 ++++++++++-------
 compiler/float-tran.lisp |  7 ++++---
 2 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/code/exports.lisp b/code/exports.lisp
index 926a82d69..e2adf25b3 100644
--- a/code/exports.lisp
+++ b/code/exports.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/exports.lisp,v 1.287 2009/08/10 21:48:18 rtoy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/exports.lisp,v 1.288 2009/08/11 18:32:55 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -1234,7 +1234,7 @@
 (dolist
     (name
      '("STRING-TO-OCTETS" "OCTETS-TO-STRING" "*DEFAULT-EXTERNAL-FORMAT*"
-       "STRING-ENCODE" "STRING-DECODE"))
+       "STRING-ENCODE" "STRING-DECODE" "SET-SYSTEM-EXTERNAL-FORMAT"))
   (intern name "STREAM"))
 
 (defpackage "EXTENSIONS"
@@ -1464,9 +1464,11 @@
   
   (:import-from "STREAM"
 		"STRING-TO-OCTETS" "OCTETS-TO-STRING" "*DEFAULT-EXTERNAL-FORMAT*"
-		"STRING-ENCODE" "STRING-DECODE")
+		"STRING-ENCODE" "STRING-DECODE"
+		"SET-SYSTEM-EXTERNAL-FORMAT")
   (:export "STRING-TO-OCTETS" "OCTETS-TO-STRING" "*DEFAULT-EXTERNAL-FORMAT*"
-	   "STRING-ENCODE" "STRING-DECODE"))
+	   "STRING-ENCODE" "STRING-DECODE"
+	   "SET-SYSTEM-EXTERNAL-FORMAT"))
 
 (defpackage "STREAM"
   (:import-from "SYSTEM" "LISP-STREAM")
@@ -2017,7 +2019,7 @@
 	   "%ARRAY-DISPLACEMENT" "%ARRAY-FILL-POINTER"
 	   "%ARRAY-FILL-POINTER-P" "%ASIN" "%ASINH" "%ATAN" "%ATAN2" "%ATANH"
 	   "%CALLER-FRAME-AND-PC" "%CHECK-BOUND" "%CLOSURE-FUNCTION"
-	   "%CLOSURE-INDEX-REF" "%COS" "%COS-QUICK" "%COSH" "%DEPOSIT-FIELD"
+	   "%CLOSURE-INDEX-REF" "%COS" "%COSH" "%DEPOSIT-FIELD"
 	   "%DOUBLE-FLOAT" "%DPB" "%EXP" "%EXPM1" "%HYPOT" "%LDB"
 	   "%LOG" "%LOGB" "%LOG10" "%LOG1P" "%LONG-FLOAT"
 	   "%MAKE-COMPLEX" "%MAKE-FUNCALLABLE-INSTANCE" "%MAKE-RATIO"
@@ -2034,10 +2036,9 @@
 	   "%SET-SAP-REF-SAP" "%SET-SAP-REF-SINGLE"
 	   "%SET-SIGNED-SAP-REF-16" "%SET-SIGNED-SAP-REF-32"
 	   "%SET-SIGNED-SAP-REF-64" "%SET-SIGNED-SAP-REF-8" 
-	   "%SET-STACK-REF" "%SIN" "%SET-SYMBOL-HASH" "%SIN-QUICK"
+	   "%SET-STACK-REF" "%SIN" "%SET-SYMBOL-HASH"
 	   "%SINGLE-FLOAT" "%SINH" "%SP-SET-DEFINITION" "%SP-SET-PLIST"
 	   "%SQRT" "%SXHASH-SIMPLE-STRING" "%SXHASH-SIMPLE-SUBSTRING" "%TAN"
-	   "%TAN-QUICK"
 	   "%TANH" "%UNARY-ROUND" "%UNARY-TRUNCATE" "%UNARY-FTRUNCATE"
 	   "%UNARY-FTRUNCATE/SINGLE-FLOAT" "%UNARY-FTRUNCATE/DOUBLE-FLOAT"
 	   "%WITH-ARRAY-DATA"
@@ -2280,6 +2281,8 @@
            "ATOMIC-POP-SYMBOL-VALUE"
            "ATOMIC-PUSHA"
            "ATOMIC-PUSHD")
+  #+x87
+  (:export "%COS-QUICK" "%SIN-QUICK" "%TAN-QUICK")
   ;;#+double-double
   (:export "DOUBLE-DOUBLE-FLOAT"
 	   "DOUBLE-DOUBLE-FLOAT-P"
diff --git a/compiler/float-tran.lisp b/compiler/float-tran.lisp
index 20067878b..16428f103 100644
--- a/compiler/float-tran.lisp
+++ b/compiler/float-tran.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/float-tran.lisp,v 1.132 2009/06/16 02:53:07 rtoy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/float-tran.lisp,v 1.133 2009/08/11 18:32:55 rtoy Rel $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -610,11 +610,11 @@
 
 ;;;; Irrational transforms:
 
-(defknown (%tan %sinh %asinh %atanh %log %logb %log10 %tan-quick)
+(defknown (%tan %sinh %asinh %atanh %log %logb %log10 #+x87 %tan-quick)
 	  (double-float) double-float
   (movable foldable flushable))
 
-(defknown (%sin %cos %tanh %sin-quick %cos-quick)
+(defknown (%sin %cos %tanh #+x87 %sin-quick #+x87 %cos-quick)
     (double-float) (double-float -1.0d0 1.0d0)
     (movable foldable flushable))
 
@@ -687,6 +687,7 @@
 ;;; Simple tests show that sin/cos produce numbers greater than 1 when
 ;;; the arg >= 2^63.  tan produces floating-point invalid exceptions
 ;;; for arg >= 2^62.  So limit these to that range.
+#+x87
 (dolist (stuff '((sin %sin %sin-quick 63)
 		 (cos %cos %cos-quick 63)
 		 (tan %tan %tan-quick 62)))
-- 
GitLab