diff --git a/ghc/compiler/nativeGen/MachCode.lhs b/ghc/compiler/nativeGen/MachCode.lhs index 4df373d71226f3139e1a29c977795f5f983a4d3d..e3f3dcc37fa4fcaa78f0eef540cef27dd70c1c15 100644 --- a/ghc/compiler/nativeGen/MachCode.lhs +++ b/ghc/compiler/nativeGen/MachCode.lhs @@ -2285,6 +2285,7 @@ genCCall fn cconv kind args _ -> ImmLab (ptext fn) arg_size DF = 8 + arg_size F = 8 arg_size _ = 4 ------------ @@ -2313,16 +2314,16 @@ genCCall fn cconv kind args in if (case sz of DF -> True; F -> True; _ -> False) then returnUs (new_sz, code . - mkSeqInstr (GST sz reg + mkSeqInstr (GST DF reg (AddrBaseIndex (Just esp) Nothing (ImmInt (- new_sz)))) ) else returnUs (new_sz, code . - mkSeqInstr (MOV sz (OpReg reg) - (OpAddr - (AddrBaseIndex (Just esp) - Nothing (ImmInt (- new_sz))))) + mkSeqInstr (MOV L (OpReg reg) + (OpAddr + (AddrBaseIndex (Just esp) + Nothing (ImmInt (- new_sz))))) ) ------------ get_op @@ -2732,28 +2733,6 @@ trivialCode instr x y where imm = maybeImm y imm__2 = case imm of Just x -> x -{- --- This seems pretty dubious to me. JRS, 000125. -trivialCode instr x y - | maybeToBool imm - = getRegister y `thenUs` \ register1 -> - let - code__2 dst = let code1 = registerCode register1 dst - src1 = registerName register1 dst - in code1 . - if isFixed register1 && src1 /= dst - then mkSeqInstrs [MOV L (OpImm imm__2) (OpReg dst), - instr (OpReg src1) (OpReg dst)] - else - -- can't possibly be right, if instr is - -- non-commutative - mkSeqInstr (instr (OpImm imm__2) (OpReg src1)) - in - returnUs (Any IntRep code__2) - where - imm = maybeImm x - imm__2 = case imm of Just x -> x --} trivialCode instr x y = getRegister x `thenUs` \ register1 ->