diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ca33d4c208e54f6c2d1e46cbf55aef3d9ef5ba90..2977ed9f39c4b2d565bcd4394c4befd8c0a87f45 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,8 @@
 2004-02-10  Alan Modra  <amodra@bigpond.net.au>
 
+	* gcc.dg/darwin-longlong.c: Only use r0 in asm for darwin.
+	* gcc.dg/cpp/assert4.c: Handle powerpc64.
+
 	* gcc.dg/debug/20020327-1.c: xfail for powerpc64.
 
 2004-02-09  Roger Sayle  <roger@eyesopen.com>
diff --git a/gcc/testsuite/gcc.dg/cpp/assert4.c b/gcc/testsuite/gcc.dg/cpp/assert4.c
index 82ae7aa6efb3ffdabfba74c8d036caac46d9a196..db565a2d39b5b3e58b4b76eb0a367fa6ec0614ce 100644
--- a/gcc/testsuite/gcc.dg/cpp/assert4.c
+++ b/gcc/testsuite/gcc.dg/cpp/assert4.c
@@ -344,10 +344,18 @@
 #endif
 
 #if defined __powerpc__
-# if !#cpu(powerpc) || !#machine(powerpc)
-#  error
-# endif
-#elif #cpu(powerpc) || #machine(powerpc)
+# if defined __powerpc64__
+#  if (#cpu(powerpc) || #machine(powerpc) \
+       || !#cpu(powerpc64) || !#machine(powerpc64))
+#   error
+# else
+#  if (!#cpu(powerpc) || !#machine(powerpc) \
+       || #cpu(powerpc64) || #machine(powerpc64))
+#   error
+#  endif
+# endif
+#elif (#cpu(powerpc) || #machine(powerpc) \
+       || #cpu(powerpc64) || #machine(powerpc64))
 # error
 #endif
 
diff --git a/gcc/testsuite/gcc.dg/darwin-longlong.c b/gcc/testsuite/gcc.dg/darwin-longlong.c
index ef925d69dd86a07b1bdfad624f46c9902f0ee6ae..9a1dcd2c85fdcb2e1a28206e243614925710a46b 100644
--- a/gcc/testsuite/gcc.dg/darwin-longlong.c
+++ b/gcc/testsuite/gcc.dg/darwin-longlong.c
@@ -25,7 +25,11 @@ int main()
 
   /* Exit on systems without 64bit instructions.  */
   signal (SIGILL, sig_ill_handler);
+#ifdef __MACH__
   asm volatile ("extsw r0,r0");
+#else
+  asm volatile ("extsw 0,0");
+#endif
   signal (SIGILL, SIG_DFL);
 
   if (msw(1) != 0)