diff options
Diffstat (limited to 'compiler/GHC')
-rw-r--r-- | compiler/GHC/CmmToAsm/X86/CodeGen.hs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/compiler/GHC/CmmToAsm/X86/CodeGen.hs b/compiler/GHC/CmmToAsm/X86/CodeGen.hs index aa4769f376..f466b1c56d 100644 --- a/compiler/GHC/CmmToAsm/X86/CodeGen.hs +++ b/compiler/GHC/CmmToAsm/X86/CodeGen.hs @@ -2511,6 +2511,13 @@ genCCall' config is32Bit (PrimTarget (MO_Clz width)) dest_regs@[dst] args@[src] bw = widthInBits width lbl = mkCmmCodeLabel primUnitId (fsLit (clzLabel width)) +genCCall' config _ (PrimTarget (MO_UF_Conv width)) [dst] [CmmLit arg_lit] _ = do + let fmt = floatFormat width + Amode amode amode_code <- memConstant (mkAlignment $ widthInBytes width) arg_lit + let platform = ncgPlatform config + let dst_r = getRegisterReg platform (CmmLocal dst) + return $ amode_code `appOL` unitOL (MOV fmt (OpAddr amode) (OpReg dst_r)) + genCCall' config is32Bit (PrimTarget (MO_UF_Conv width)) dest_regs args bid = do targetExpr <- cmmMakeDynamicReference config CallReference lbl |