diff --git a/ghc/compiler/codeGen/CgRetConv.lhs b/ghc/compiler/codeGen/CgRetConv.lhs
index 77a37f373defe3e8b432810822992106d573c707..9dc622a2b604a981a7027cb9561048ac1f484ebd 100644
--- a/ghc/compiler/codeGen/CgRetConv.lhs
+++ b/ghc/compiler/codeGen/CgRetConv.lhs
@@ -1,7 +1,7 @@
 %
 % (c) The GRASP Project, Glasgow University, 1992-1998
 %
-% $Id: CgRetConv.lhs,v 1.16 1998/12/18 17:40:52 simonpj Exp $
+% $Id: CgRetConv.lhs,v 1.17 1999/01/18 14:31:51 sof Exp $
 %
 \section[CgRetConv]{Return conventions for the code generator}
 
@@ -21,10 +21,9 @@ module CgRetConv (
 import AbsCSyn		-- quite a few things
 import Constants	( mAX_FAMILY_SIZE_FOR_VEC_RETURNS,
 			  mAX_Vanilla_REG, mAX_Float_REG,
-			  mAX_Double_REG, 
+			  mAX_Double_REG, mAX_Real_Double_REG,
 			  mAX_Real_Vanilla_REG, mAX_Real_Float_REG,
-			  mAX_Real_Double_REG,
-			  mAX_Long_REG
+			  mAX_Long_REG, mAX_Real_Long_REG
 			)
 import Maybes		( catMaybes )
 import DataCon		( dataConRawArgTys, DataCon )
@@ -182,17 +181,17 @@ We take these register supplies from the *real* registers, i.e. those
 that are guaranteed to map to machine registers.
 
 \begin{code}
-vanillaRegNos, floatRegNos, doubleRegNos :: [Int]
+vanillaRegNos, floatRegNos, doubleRegNos, longRegNos :: [Int]
 vanillaRegNos	 = [1 .. mAX_Real_Vanilla_REG]
 floatRegNos	 = [1 .. mAX_Real_Float_REG]
 doubleRegNos	 = [1 .. mAX_Real_Double_REG]
-longRegNos       = [1 .. mAX_Long_REG]
+longRegNos       = [1 .. mAX_Real_Long_REG]
 
 allVanillaRegNos, allFloatRegNos, allDoubleRegNos, allLongRegNos :: [Int]
 allVanillaRegNos = [1 .. mAX_Vanilla_REG]
 allFloatRegNos	 = [1 .. mAX_Float_REG]
 allDoubleRegNos	 = [1 .. mAX_Double_REG]
-allLongRegNos	 = [1 .. mAX_Double_REG]
+allLongRegNos	 = [1 .. mAX_Long_REG]
 
 type AvailRegs = ( [Int]   -- available vanilla regs.
 		 , [Int]   -- floats
diff --git a/ghc/compiler/main/Constants.lhs b/ghc/compiler/main/Constants.lhs
index fa4cdbc4ecc5e7f0fab4427928b3272ee745d45a..3aa4d59542e6102d78505900ba901bf417739de3 100644
--- a/ghc/compiler/main/Constants.lhs
+++ b/ghc/compiler/main/Constants.lhs
@@ -56,6 +56,7 @@ module Constants (
 	mAX_Real_Vanilla_REG,
 	mAX_Real_Float_REG,
 	mAX_Real_Double_REG,
+	mAX_Real_Long_REG,
 
 	oTHER_TAG,
 
@@ -175,10 +176,12 @@ sEQ_FRAME_SIZE = (SEQ_FRAME_SIZE::Int)
 mAX_Vanilla_REG	= (MAX_VANILLA_REG :: Int)
 mAX_Float_REG	= (MAX_FLOAT_REG :: Int)
 mAX_Double_REG	= (MAX_DOUBLE_REG :: Int)
+mAX_Long_REG    = (MAX_LONG_REG  :: Int)
 
 mAX_Real_Vanilla_REG	= (MAX_REAL_VANILLA_REG :: Int)
 mAX_Real_Float_REG	= (MAX_REAL_FLOAT_REG :: Int)
 mAX_Real_Double_REG	= (MAX_REAL_DOUBLE_REG :: Int)
+mAX_Real_Long_REG	= (MAX_REAL_LONG_REG :: Int)
 \end{code}
 
 Closure header sizes.
@@ -204,7 +207,6 @@ Size of a double in StgWords.
 
 \begin{code}
 dOUBLE_SIZE    = (DOUBLE_SIZE   :: Int)
-mAX_Long_REG   = (MAX_LONG_REG  :: Int)
 wORD64_SIZE    = (WORD64_SIZE   :: Int)
 iNT64_SIZE     = (INT64_SIZE   :: Int)
 \end{code}
diff --git a/ghc/includes/MachRegs.h b/ghc/includes/MachRegs.h
index e4f1d2380b388a7a3c0554279e51f4819c1f7f38..b4272d7879951aad32e55005f67a0eb04a162002 100644
--- a/ghc/includes/MachRegs.h
+++ b/ghc/includes/MachRegs.h
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: MachRegs.h,v 1.2 1998/12/02 13:21:13 simonm Exp $
+ * $Id: MachRegs.h,v 1.3 1999/01/18 14:31:50 sof Exp $
  *
  * Registers used in STG code.  Might or might not correspond to
  * actual machine registers.
@@ -214,6 +214,7 @@
 #define MAX_REAL_VANILLA_REG 1	/* always, since it defines the entry conv */
 #define MAX_REAL_FLOAT_REG   0
 #define MAX_REAL_DOUBLE_REG  0
+#define MAX_REAL_LONG_REG    0
 
 #endif /* iX86 */