diff --git a/src/code/exports.lisp b/src/code/exports.lisp
index ca0a60b6c20a84875589f4546c92945d4883bc76..5c8168da656eed3b1635e800f808cda7d500c1c9 100644
--- a/src/code/exports.lisp
+++ b/src/code/exports.lisp
@@ -2342,7 +2342,10 @@
 	   "%COMPLEX-DOUBLE-FLOAT"
 	   "%COMPLEX-DOUBLE-DOUBLE-FLOAT"
 	   "STANDARD-READTABLE-MODIFIED-ERROR"
-	   "STANDARD-PPRINT-DISPATCH-TABLE-MODIFIED-ERROR")
+	   "STANDARD-PPRINT-DISPATCH-TABLE-MODIFIED-ERROR"
+
+	   "%IEEE754-REM-PI/2"
+	   "%SINCOS")
   #+heap-overflow-check
   (:export "DYNAMIC-SPACE-OVERFLOW-WARNING-HIT"
 	   "DYNAMIC-SPACE-OVERFLOW-ERROR-HIT"
diff --git a/src/code/irrat.lisp b/src/code/irrat.lisp
index 032a6ac9f66c293553507cc301be4985c9906163..c48d09d5a6c0c92fed0cada677fe36ed66c328d1 100644
--- a/src/code/irrat.lisp
+++ b/src/code/irrat.lisp
@@ -64,19 +64,11 @@
 ;;; Please refer to the Unix man pages for details about these routines.
 
 ;;; Trigonometric.
-#-(and x86 (not sse2))
-(progn
-  ;; For x86 (without sse2), we can use x87 instructions to implement
-  ;; these.  With sse2, we don't currently support that, so these
-  ;; should be disabled.
-;;  (def-math-rtn "sin" 1)
-;;  (def-math-rtn "cos" 1)
-  ;;  (def-math-rtn "tan" 1)
-  (def-math-rtn ("fdlibm_sin" %sin) 1)
-  (def-math-rtn ("fdlibm_cos" %cos) 1)
-  (def-math-rtn ("fdlibm_tan" %tan) 1)
-  (def-math-rtn "atan" 1)
-  (def-math-rtn "atan2" 2))
+(def-math-rtn ("fdlibm_sin" %sin) 1)
+(def-math-rtn ("fdlibm_cos" %cos) 1)
+(def-math-rtn ("fdlibm_tan" %tan) 1)
+(def-math-rtn "atan" 1)
+(def-math-rtn "atan2" 2)
 (def-math-rtn "asin" 1)
 (def-math-rtn "acos" 1)
 (def-math-rtn "sinh" 1)
@@ -87,19 +79,15 @@
 (def-math-rtn "atanh" 1)
 
 ;;; Exponential and Logarithmic.
-#-(and x86 (not sse2))
-(progn
-  (def-math-rtn "exp" 1)
-  (def-math-rtn "log" 1)
-  (def-math-rtn "log10" 1))
+(def-math-rtn "exp" 1)
+(def-math-rtn "log" 1)
+(def-math-rtn "log10" 1)
 
 (def-math-rtn "pow" 2)
 #-(or x86 sparc-v7 sparc-v8 sparc-v9)
 (def-math-rtn "sqrt" 1)
 (def-math-rtn "hypot" 2)
 
-;; Don't want log1p to use the x87 instruction.
-#-(or hpux (and x86 (not sse2)))
 (def-math-rtn "log1p" 1)
 
 ;; These are needed for use by byte-compiled files.  But don't use
@@ -199,6 +187,7 @@
 ;; easier for the user, and we don't have to wrap calls with
 ;; without-gcing.
 (declaim (inline %ieee754-rem-pi/2))
+(export '%ieee754-rem-pi/2)
 (alien:def-alien-routine ("ieee754_rem_pio2" %ieee754-rem-pi/2) c-call:int
   (x double-float)
   (y0 double-float :out)
@@ -211,6 +200,7 @@
   (c double-float :out))
 
 (declaim (inline %sincos))
+(export '%sincos)
 (defun %sincos (x)
   (declare (double-float x))
   (multiple-value-bind (ign s c)
diff --git a/src/compiler/float-tran.lisp b/src/compiler/float-tran.lisp
index 41e0d42b608bcffb66e0e9feb1f194c7869d6936..7da6b954d16deb1f7f3593bf93a1f8dd23f68392 100644
--- a/src/compiler/float-tran.lisp
+++ b/src/compiler/float-tran.lisp
@@ -734,19 +734,19 @@
     (deftransform name ((x) '(double-float) rtype :eval-name t :when :both)
       `(,prim x))))
 
-(defknown (kernel::%sincos)
+(defknown (%sincos)
     (double-float) (values double-float double-float)
     (movable foldable flushable))
 
 (deftransform cis ((x) (single-float) * :when :both)
   `(multiple-value-bind (s c)
-       (kernel::%sincos (coerce x 'double-float))
+       (%sincos (coerce x 'double-float))
      (complex (coerce c 'single-float)
 	      (coerce s 'single-float))))
 
 (deftransform cis ((x) (double-float) * :when :both)
   `(multiple-value-bind (s c)
-       (kernel::%sincos x)
+       (%sincos x)
      (complex c s)))
 
 #+double-double