Merge in new code generator branch.
[ghc-hetmet.git] / compiler / nativeGen / PPC / Instr.hs
index 55affc6..6aeccd3 100644 (file)
@@ -22,12 +22,13 @@ import PPC.Regs
 import PPC.Cond
 import Instruction
 import Size
+import TargetReg
 import RegClass
 import Reg
 
 import Constants       (rESERVED_C_STACK_BYTES)
 import BlockId
-import Cmm
+import OldCmm
 import FastString
 import CLabel
 import Outputable
@@ -230,12 +231,12 @@ ppc_regUsageOfInstr instr
     regRI  _   = []
 
 interesting :: Reg -> Bool
-interesting (VirtualRegI  _)  = True
-interesting (VirtualRegHi _)  = True
-interesting (VirtualRegF  _)  = True
-interesting (VirtualRegD  _)  = True
-interesting (RealReg i)       = isFastTrue (freeReg i)
+interesting (RegVirtual _)             = True
+interesting (RegReal (RealRegSingle i))        
+       = isFastTrue (freeReg i)
 
+interesting (RegReal (RealRegPair{}))  
+       = panic "PPC.Instr.interesting: no reg pairs on this arch"
 
 
 
@@ -353,7 +354,7 @@ ppc_mkSpillInstr
 ppc_mkSpillInstr reg delta slot
   = let        off     = spillSlotToOffset slot
     in
-    let sz = case regClass reg of
+    let sz = case targetClassOfReg reg of
                 RcInteger -> II32
                 RcDouble  -> FF64
                _         -> panic "PPC.Instr.mkSpillInstr: no match"
@@ -369,7 +370,7 @@ ppc_mkLoadInstr
 ppc_mkLoadInstr reg delta slot
   = let off     = spillSlotToOffset slot
     in
-    let sz = case regClass reg of
+    let sz = case targetClassOfReg reg of
                 RcInteger -> II32
                 RcDouble  -> FF64
                _         -> panic "PPC.Instr.mkLoadInstr: no match"