summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
Diffstat (limited to 'utils')
-rw-r--r--utils/deriveConstants/Main.hs1
-rw-r--r--utils/genapply/Main.hs28
2 files changed, 12 insertions, 17 deletions
diff --git a/utils/deriveConstants/Main.hs b/utils/deriveConstants/Main.hs
index 65c3deb3e5..0b47a894d3 100644
--- a/utils/deriveConstants/Main.hs
+++ b/utils/deriveConstants/Main.hs
@@ -652,7 +652,6 @@ wanteds os = concat
,constantWord Haskell "MAX_Real_Float_REG" "MAX_REAL_FLOAT_REG"
,constantWord Haskell "MAX_Real_Double_REG" "MAX_REAL_DOUBLE_REG"
,constantWord Haskell "MAX_Real_XMM_REG" "MAX_REAL_XMM_REG"
- ,constantWord Haskell "MAX_Real_Long_REG" "MAX_REAL_LONG_REG"
-- This tells the native code generator the size of the spill
-- area it has available.
diff --git a/utils/genapply/Main.hs b/utils/genapply/Main.hs
index 34d793236f..cb14634a14 100644
--- a/utils/genapply/Main.hs
+++ b/utils/genapply/Main.hs
@@ -86,20 +86,18 @@ data RegStatus = Registerised | Unregisterised
type Reg = String
-availableRegs :: RegStatus -> ([Reg],[Reg],[Reg],[Reg])
-availableRegs Unregisterised = ([],[],[],[])
+availableRegs :: RegStatus -> ([Reg],[Reg],[Reg])
+availableRegs Unregisterised = ([],[],[])
availableRegs Registerised =
( vanillaRegs MAX_REAL_VANILLA_REG,
floatRegs MAX_REAL_FLOAT_REG,
- doubleRegs MAX_REAL_DOUBLE_REG,
- longRegs MAX_REAL_LONG_REG
+ doubleRegs MAX_REAL_DOUBLE_REG
)
-vanillaRegs, floatRegs, doubleRegs, longRegs :: Int -> [Reg]
+vanillaRegs, floatRegs, doubleRegs :: Int -> [Reg]
vanillaRegs n = [ "R" ++ show m | m <- [2..n] ] -- never use R1
floatRegs n = [ "F" ++ show m | m <- [1..n] ]
doubleRegs n = [ "D" ++ show m | m <- [1..n] ]
-longRegs n = [ "L" ++ show m | m <- [1..n] ]
-- -----------------------------------------------------------------------------
-- Loading/saving register arguments to the stack
@@ -132,16 +130,14 @@ assign sp (arg : args) regs doc
((reg, sp) : doc)
Nothing -> (doc, (arg:args), sp)
-findAvailableReg N (vreg:vregs, fregs, dregs, lregs) =
- Just (vreg, (vregs,fregs,dregs,lregs))
-findAvailableReg P (vreg:vregs, fregs, dregs, lregs) =
- Just (vreg, (vregs,fregs,dregs,lregs))
-findAvailableReg F (vregs, freg:fregs, dregs, lregs) =
- Just (freg, (vregs,fregs,dregs,lregs))
-findAvailableReg D (vregs, fregs, dreg:dregs, lregs) =
- Just (dreg, (vregs,fregs,dregs,lregs))
-findAvailableReg L (vregs, fregs, dregs, lreg:lregs) =
- Just (lreg, (vregs,fregs,dregs,lregs))
+findAvailableReg N (vreg:vregs, fregs, dregs) =
+ Just (vreg, (vregs,fregs,dregs))
+findAvailableReg P (vreg:vregs, fregs, dregs) =
+ Just (vreg, (vregs,fregs,dregs))
+findAvailableReg F (vregs, freg:fregs, dregs) =
+ Just (freg, (vregs,fregs,dregs))
+findAvailableReg D (vregs, fregs, dreg:dregs) =
+ Just (dreg, (vregs,fregs,dregs))
findAvailableReg _ _ = Nothing
assign_reg_to_stk reg sp