[project @ 1998-08-14 11:05:27 by sof]
authorsof <unknown>
Fri, 14 Aug 1998 11:05:27 +0000 (11:05 +0000)
committersof <unknown>
Fri, 14 Aug 1998 11:05:27 +0000 (11:05 +0000)
For completeness, define CALLE{E,R}_SAVES_* for LongRegs

ghc/includes/MachRegs.lh

index ccdccd1..9791094 100644 (file)
@@ -76,6 +76,7 @@ TagReg                            Usually won't be in a register, unless we have a
 R1 (Node), R2 ... R8       must be saved if in a caller-save reg *and*
 FltReg1 .. n               its value survives over the ccall [rare] (the
 DblReg1 .. n               code-generator knows this...)
+LngReg1 .. n
 
 BaseReg,                   better choices for caller-saves regs than the
 StkStub,...                other system regs, since they only need to be
@@ -216,7 +217,7 @@ t12 $27     NCG_reserved
 #  define REG_R6       6
 #  define REG_R7       7
 #  define REG_R8       8
-  
+
 #  define REG_Flt1     f2
 #  define REG_Flt2     f3
 #  define REG_Flt3     f4
@@ -303,6 +304,11 @@ We cater for HP-PA 1.1.
 #define CALLEE_SAVES_FltReg4
 #define CALLEE_SAVES_DblReg1
 #define CALLEE_SAVES_DblReg2
+/* ToDo: improve? */
+#if HAVE_LONG_LONG && SIZEOF_LONG < 8
+#define CALLEE_SAVES_LngReg1
+#define CALLEE_SAVES_LngReg2
+#endif
 #define CALLEE_SAVES_SpA
 #define CALLEE_SAVES_SuA
 #define CALLEE_SAVES_SpB
@@ -536,6 +542,10 @@ fp2..fp7 & callee-saved: available for STG registers
 # define CALLEE_SAVES_FltReg4
 # define CALLEE_SAVES_DblReg2
 #endif
+#if HAVE_LONG_LONG && SIZEOF_LONG < 8
+#define CALLEE_SAVES_LngReg1
+#define CALLEE_SAVES_LngReg2
+#endif
 #define CALLEE_SAVES_Base
 #define CALLEE_SAVES_SpB
 #define CALLEE_SAVES_SpA
@@ -638,6 +648,10 @@ We can steal some, but we might have to save/restore around ccalls.
 #define CALLEE_SAVES_FltReg4
 #define CALLEE_SAVES_DblReg1
 #define CALLEE_SAVES_DblReg2
+#if HAVE_LONG_LONG && SIZEOF_LONG < 8
+#define CALLEE_SAVES_LngReg1
+#define CALLEE_SAVES_LngReg2
+#endif
 #define CALLEE_SAVES_SpA
 #define CALLEE_SAVES_SuA
 #define CALLEE_SAVES_SpB
@@ -752,6 +766,10 @@ I think we can do the Whole Business with callee-save registers only!
 #define CALLEE_SAVES_FltReg4
 #define CALLEE_SAVES_DblReg1
 #define CALLEE_SAVES_DblReg2
+#if HAVE_LONG_LONG && SIZEOF_LONG < 8
+#define CALLEE_SAVES_LngReg1
+#define CALLEE_SAVES_LngReg2
+#endif
 #define CALLEE_SAVES_SpA
 #define CALLEE_SAVES_SuA
 #define CALLEE_SAVES_SpB
@@ -873,6 +891,10 @@ discretion being the better part of valor, we also don't take
 #define CALLER_SAVES_FltReg4
 #define CALLER_SAVES_DblReg1
 #define CALLER_SAVES_DblReg2
+#if HAVE_LONG_LONG && SIZEOF_LONG < 8
+#define CALLER_SAVES_LngReg1
+#define CALLER_SAVES_LngReg2
+#endif
 
 #define REG_R1         l1
 #define REG_R2         l2