diff options
Diffstat (limited to 'compiler/GHC/CmmToAsm/X86/Instr.hs')
-rw-r--r-- | compiler/GHC/CmmToAsm/X86/Instr.hs | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/compiler/GHC/CmmToAsm/X86/Instr.hs b/compiler/GHC/CmmToAsm/X86/Instr.hs index e48d0922d8..9410537ed8 100644 --- a/compiler/GHC/CmmToAsm/X86/Instr.hs +++ b/compiler/GHC/CmmToAsm/X86/Instr.hs @@ -672,15 +672,15 @@ mkSpillInstr -> Reg -- register to spill -> Int -- current stack delta -> Int -- spill slot to use - -> Instr + -> [Instr] mkSpillInstr config reg delta slot = let off = spillSlotToOffset platform slot - delta in case targetClassOfReg platform reg of - RcInteger -> MOV (archWordFormat is32Bit) - (OpReg reg) (OpAddr (spRel platform off)) - RcDouble -> MOV FF64 (OpReg reg) (OpAddr (spRel platform off)) + RcInteger -> [MOV (archWordFormat is32Bit) + (OpReg reg) (OpAddr (spRel platform off))] + RcDouble -> [MOV FF64 (OpReg reg) (OpAddr (spRel platform off))] _ -> panic "X86.mkSpillInstr: no match" where platform = ncgPlatform config is32Bit = target32Bit platform @@ -691,16 +691,16 @@ mkLoadInstr -> Reg -- register to load -> Int -- current stack delta -> Int -- spill slot to use - -> Instr + -> [Instr] mkLoadInstr config reg delta slot = let off = spillSlotToOffset platform slot - delta in case targetClassOfReg platform reg of - RcInteger -> MOV (archWordFormat is32Bit) - (OpAddr (spRel platform off)) (OpReg reg) - RcDouble -> MOV FF64 (OpAddr (spRel platform off)) (OpReg reg) - _ -> panic "X86.mkLoadInstr" + RcInteger -> ([MOV (archWordFormat is32Bit) + (OpAddr (spRel platform off)) (OpReg reg)]) + RcDouble -> ([MOV FF64 (OpAddr (spRel platform off)) (OpReg reg)]) + _ -> panic "X86.mkLoadInstr" where platform = ncgPlatform config is32Bit = target32Bit platform |