diff options
Diffstat (limited to 'compiler/GHC/CmmToAsm/PPC/CodeGen.hs')
-rw-r--r-- | compiler/GHC/CmmToAsm/PPC/CodeGen.hs | 33 |
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) |