\begin{code}
 -- IA64 mangler doesn't place tables next to code
 tablesNextToCode :: Bool
-#ifdef ia64_TARGET_ARCH
+#if defined(ia64_TARGET_ARCH) || defined(powerpc64_TARGET_ARCH)
 tablesNextToCode = False
 #else
 tablesNextToCode = not opt_Unregisterised
 
 /* -----------------------------------------------------------------------------
- * $Id: MachRegs.h,v 1.16 2004/08/13 13:09:18 simonmar Exp $
+ * $Id: MachRegs.h,v 1.17 2004/11/21 22:25:24 desrt Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
    I think we can do the Whole Business with callee-save registers only!
    -------------------------------------------------------------------------- */
 
-#if powerpc_TARGET_ARCH || rs6000_TARGET_ARCH
+#if powerpc_TARGET_ARCH || powerpc64_TARGET_ARCH || rs6000_TARGET_ARCH
 
 #define REG(x) __asm__(#x)
 
 
  *
  * UNDEFINING THIS WON'T WORK ON ITS OWN.  You have been warned.
  */
-#if !defined(USE_MINIINTERPRETER) && !defined(ia64_TARGET_ARCH)
+#if !defined(USE_MINIINTERPRETER) && !defined(ia64_TARGET_ARCH) && !defined (powerpc64_TARGET_ARCH)
 #define TABLES_NEXT_TO_CODE
 #endif
 
 
 /* -----------------------------------------------------------------------------
- * $Id: TailCalls.h,v 1.16 2004/08/13 13:09:41 simonmar Exp $
+ * $Id: TailCalls.h,v 1.17 2004/11/21 22:25:24 desrt Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
 
 #endif /* powerpc_TARGET_ARCH */
 
+#ifdef powerpc64_TARGET_ARCH
+#define JMP_(cont) ((F_) (cont))()
+#endif
+
 /* -----------------------------------------------------------------------------
    Tail calling on IA64
    -------------------------------------------------------------------------- */