X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FnativeGen%2FPPC%2FInstr.hs;h=d4d809825d605dfa2a4c15322934a41b8ee7100e;hb=1c0deb50a7d84e14e0a425a0e1b4293c19718bb3;hp=55affc6e1edf5d4e1d8a85dba1b73d787713e227;hpb=b04a210e26ca57242fd052f2aa91011a80b76299;p=ghc-hetmet.git diff --git a/compiler/nativeGen/PPC/Instr.hs b/compiler/nativeGen/PPC/Instr.hs index 55affc6..d4d8098 100644 --- a/compiler/nativeGen/PPC/Instr.hs +++ b/compiler/nativeGen/PPC/Instr.hs @@ -22,6 +22,7 @@ import PPC.Regs import PPC.Cond import Instruction import Size +import TargetReg import RegClass import Reg @@ -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"