diff --git a/compiler/generic/utils.lisp b/compiler/generic/utils.lisp
index cce0e082b58707f64141ab1e071d84c958538c5b..bd7dba570e0482ee304d6dae86a7416f4b749403 100644
--- a/compiler/generic/utils.lisp
+++ b/compiler/generic/utils.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/generic/utils.lisp,v 1.9 2004/05/24 23:18:37 cwang Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/utils.lisp,v 1.10 2004/06/16 23:09:40 cwang Rel $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -25,7 +25,10 @@
 
 (defun fixnumize (num)
   "Make a fixnum out of NUM.  (i.e. shift by two bits if it will fit.)"
-  (if (<= most-negative-fixnum num most-positive-fixnum)
+  ;; the bounds must be hardcoded for cross-compilation
+  (if (<= #-amd64 #x-20000000 #+amd64 #x-2000000000000000
+	  num
+	  #-amd64 #x1fffffff #+amd64 #x1fffffffffffffff)
       (ash num (1- vm:lowtag-bits))
       (error "~D is too big for a fixnum." num)))