Call expandCallishMachOp in the x86_64 codegen too
authorIan Lynagh <igloo@earth.li>
Thu, 23 Feb 2012 15:25:51 +0000 (15:25 +0000)
committerIan Lynagh <igloo@earth.li>
Thu, 23 Feb 2012 15:25:51 +0000 (15:25 +0000)
Currently it does nothing, as x86_64 supports all the callishMachOps
that expandCallishMachOp expands, but it might be needed in the future.

compiler/nativeGen/X86/CodeGen.hs

index ec6bf59..7a3f93d 100644 (file)
@@ -1844,6 +1844,10 @@ genCCall64 target dest_regs args =
     (CmmPrim (MO_S_QuotRem width), _) -> divOp True  width dest_regs args
     (CmmPrim (MO_U_QuotRem width), _) -> divOp False width dest_regs args
 
+    (CmmPrim op, results)
+     | Just stmts <- expandCallishMachOp op results args ->
+        stmtsToInstrs stmts
+
     _ -> genCCall64' target dest_regs args
 
   where divOp signed width [CmmHinted res_q _, CmmHinted res_r _]