diff --git a/compiler/nativeGen/X86/Regs.hs b/compiler/nativeGen/X86/Regs.hs index b5139c92bf11adf09d8e91f0734f98b425157b87..127a81183175bb6161d79479ca2c4eae4e08e497 100644 --- a/compiler/nativeGen/X86/Regs.hs +++ b/compiler/nativeGen/X86/Regs.hs @@ -403,6 +403,9 @@ callClobberedRegs :: Platform -> [Reg] -- caller-saves registers callClobberedRegs platform | target32Bit platform = [eax,ecx,edx] ++ map regSingle (floatregnos platform) + | platformOS platform == OSMinGW32 + = [rax,rcx,rdx,r8,r9,r10,r11] + ++ map regSingle (floatregnos platform) | otherwise -- all xmm regs are caller-saves -- caller-saves registers