summaryrefslogtreecommitdiff
path: root/compiler/GHC/CmmToAsm/PPC/CodeGen.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/CmmToAsm/PPC/CodeGen.hs')
-rw-r--r--compiler/GHC/CmmToAsm/PPC/CodeGen.hs33
1 files changed, 33 insertions, 0 deletions
diff --git a/compiler/GHC/CmmToAsm/PPC/CodeGen.hs b/compiler/GHC/CmmToAsm/PPC/CodeGen.hs
index c821ea71a2..8ee20e06f5 100644
--- a/compiler/GHC/CmmToAsm/PPC/CodeGen.hs
+++ b/compiler/GHC/CmmToAsm/PPC/CodeGen.hs
@@ -2006,6 +2006,39 @@ genCCall' config gcp target dest_regs args
MO_F64_Acosh -> (fsLit "acosh", False)
MO_F64_Atanh -> (fsLit "atanh", False)
+ MO_I64_ToI -> (fsLit "hs_int64ToInt", False)
+ MO_I64_FromI -> (fsLit "hs_intToInt64", False)
+ MO_W64_ToW -> (fsLit "hs_word64ToWord", False)
+ MO_W64_FromW -> (fsLit "hs_wordToWord64", False)
+
+ MO_x64_Neg -> (fsLit "hs_neg64", False)
+ MO_x64_Add -> (fsLit "hs_add64", False)
+ MO_x64_Sub -> (fsLit "hs_sub64", False)
+ MO_x64_Mul -> (fsLit "hs_mul64", False)
+ MO_I64_Quot -> (fsLit "hs_quotInt64", False)
+ MO_I64_Rem -> (fsLit "hs_remInt64", False)
+ MO_W64_Quot -> (fsLit "hs_quotWord64", False)
+ MO_W64_Rem -> (fsLit "hs_remWord64", False)
+
+ MO_x64_And -> (fsLit "hs_and64", False)
+ MO_x64_Or -> (fsLit "hs_or64", False)
+ MO_x64_Xor -> (fsLit "hs_xor64", False)
+ MO_x64_Not -> (fsLit "hs_not64", False)
+ MO_x64_Shl -> (fsLit "hs_uncheckedShiftL64", False)
+ MO_I64_Shr -> (fsLit "hs_uncheckedIShiftRA64", False)
+ MO_W64_Shr -> (fsLit "hs_uncheckedShiftRL64", False)
+
+ MO_x64_Eq -> (fsLit "hs_eq64", False)
+ MO_x64_Ne -> (fsLit "hs_ne64", False)
+ MO_I64_Ge -> (fsLit "hs_geInt64", False)
+ MO_I64_Gt -> (fsLit "hs_gtInt64", False)
+ MO_I64_Le -> (fsLit "hs_leInt64", False)
+ MO_I64_Lt -> (fsLit "hs_ltInt64", False)
+ MO_W64_Ge -> (fsLit "hs_geWord64", False)
+ MO_W64_Gt -> (fsLit "hs_gtWord64", False)
+ MO_W64_Le -> (fsLit "hs_leWord64", False)
+ MO_W64_Lt -> (fsLit "hs_ltWord64", False)
+
MO_UF_Conv w -> (word2FloatLabel w, False)
MO_Memcpy _ -> (fsLit "memcpy", False)