From: Ben.Lippmeier@anu.edu.au Date: Tue, 20 Jan 2009 09:06:17 +0000 (+0000) Subject: SPARC NCG: Fix 64bit integers returned from ccalls X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=3c8d3f11b25e2628d2d027fbdb342c3fa99129bc;p=ghc-hetmet.git SPARC NCG: Fix 64bit integers returned from ccalls --- diff --git a/compiler/nativeGen/MachCodeGen.hs b/compiler/nativeGen/MachCodeGen.hs index 325a4e8..081947e 100644 --- a/compiler/nativeGen/MachCodeGen.hs +++ b/compiler/nativeGen/MachCodeGen.hs @@ -3669,8 +3669,10 @@ genCCall target dest_regs argsAndHints = do = unitOL $ mkRegRegMoveInstr (RealReg $ oReg 0) r_dest | not $ isFloatType rep - , W64 <- width - = unitOL $ mkRegRegMoveInstr (RealReg $ oReg 0) r_dest + , W64 <- width + , r_dest_hi <- getHiVRegFromLo r_dest + = toOL [ mkRegRegMoveInstr (RealReg $ oReg 0) r_dest_hi + , mkRegRegMoveInstr (RealReg $ oReg 1) r_dest] in result