X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FllvmGen%2FLlvmCodeGen%2FCodeGen.hs;fp=compiler%2FllvmGen%2FLlvmCodeGen%2FCodeGen.hs;h=f5c71ab2b9c5f3a51e4614ed888e9150218c05a5;hb=4bb4a1cfa8b88fefae3405d101dc6ff0f7adbae3;hp=075a73138dc8ec330a8cdbd108f9fad45564d380;hpb=f9686dd4f9ff6cee56659319941e136a30fa659d;p=ghc-hetmet.git diff --git a/compiler/llvmGen/LlvmCodeGen/CodeGen.hs b/compiler/llvmGen/LlvmCodeGen/CodeGen.hs index 075a731..f5c71ab 100644 --- a/compiler/llvmGen/LlvmCodeGen/CodeGen.hs +++ b/compiler/llvmGen/LlvmCodeGen/CodeGen.hs @@ -558,7 +558,7 @@ genMachOp env _ op [x] = case op of in negate (widthToLlvmInt w) all0 LM_MO_Sub MO_F_Neg w -> - let all0 = LMLitVar $ LMFloatLit 0 (widthToLlvmFloat w) + let all0 = LMLitVar $ LMFloatLit (-0) (widthToLlvmFloat w) in negate (widthToLlvmFloat w) all0 LM_MO_Sub MO_SF_Conv _ w -> fiConv (widthToLlvmFloat w) LM_Sitofp @@ -807,7 +807,8 @@ genLit env (CmmInt i w) = return (env, mkIntLit i (LMInt $ widthInBits w), nilOL, []) genLit env (CmmFloat r w) - = return (env, LMLitVar $ LMFloatLit r (widthToLlvmFloat w), nilOL, []) + = return (env, LMLitVar $ LMFloatLit (fromRational r) (widthToLlvmFloat w), + nilOL, []) genLit env cmm@(CmmLabel l) = let label = strCLabel_llvm l