X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FnativeGen%2FMachCodeGen.hs;h=d94a906bbddd79223b88f8b40e5c6a922825f8ce;hb=e28dc9b9e45ff351a5e40fd4de9d0fc746540526;hp=cac9f174261da00a61171f2061cfdb4ac5515fcd;hpb=d7d09c18459983be1ef690e0d9136a8736b1976f;p=ghc-hetmet.git diff --git a/compiler/nativeGen/MachCodeGen.hs b/compiler/nativeGen/MachCodeGen.hs index cac9f17..d94a906 100644 --- a/compiler/nativeGen/MachCodeGen.hs +++ b/compiler/nativeGen/MachCodeGen.hs @@ -25,12 +25,11 @@ module MachCodeGen ( cmmTopCodeGen, InstrBlock ) where #include "MachDeps.h" -- NCG stuff: -import MachInstrs -import MachRegs +import Instrs +import Regs import NCGMonad import PositionIndependentCode import RegAllocInfo ( mkBranchInstr, mkRegRegMoveInstr ) -import MachRegs import PprMach -- Our intermediate code: @@ -41,6 +40,7 @@ import CLabel import ClosureInfo ( C_SRT(..) ) -- The rest: +import BasicTypes import StaticFlags ( opt_PIC ) import ForeignCall ( CCallConv(..) ) import OrdList @@ -3409,7 +3409,7 @@ outOfLineFloatOp mop res args code2 <- stmtToInstrs (CmmAssign (CmmLocal res) (CmmReg (CmmLocal tmp))) return (code1 `appOL` code2) where - lbl = mkForeignLabel fn Nothing False + lbl = mkForeignLabel fn Nothing False IsFunction fn = case mop of MO_F32_Sqrt -> fsLit "sqrtf" @@ -3842,7 +3842,7 @@ outOfLineFloatOp mop dflags <- getDynFlagsNat mopExpr <- cmmMakeDynamicReference dflags addImportNat CallReference - $ mkForeignLabel functionName Nothing True + $ mkForeignLabel functionName Nothing True IsFunction let mopLabelOrExpr = case mopExpr of @@ -3863,6 +3863,7 @@ outOfLineFloatOp_table mop MO_F32_Exp -> fsLit "expf" MO_F32_Log -> fsLit "logf" MO_F32_Sqrt -> fsLit "sqrtf" + MO_F32_Pwr -> fsLit "powf" MO_F32_Sin -> fsLit "sinf" MO_F32_Cos -> fsLit "cosf" @@ -3879,6 +3880,7 @@ outOfLineFloatOp_table mop MO_F64_Exp -> fsLit "exp" MO_F64_Log -> fsLit "log" MO_F64_Sqrt -> fsLit "sqrt" + MO_F64_Pwr -> fsLit "pow" MO_F64_Sin -> fsLit "sin" MO_F64_Cos -> fsLit "cos" @@ -4111,7 +4113,7 @@ genCCall target dest_regs argsAndHints do dflags <- getDynFlagsNat mopExpr <- cmmMakeDynamicReference dflags addImportNat CallReference $ - mkForeignLabel functionName Nothing True + mkForeignLabel functionName Nothing True IsFunction let mopLabelOrExpr = case mopExpr of CmmLit (CmmLabel lbl) -> Left lbl _ -> Right mopExpr @@ -5188,7 +5190,7 @@ coerceFP2Int fromRep toRep x = do -- We (allegedly) put the first six C-call arguments in registers; -- where do we start putting the rest of them? --- Moved from MachInstrs (SDM): +-- Moved from Instrs (SDM): #if alpha_TARGET_ARCH || sparc_TARGET_ARCH eXTRA_STK_ARGS_HERE :: Int