+2004-10-14  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
+       config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
+       -m64.
+
 2004-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * reload.c (find_reloads): When reloading a PLUS with constant
 
   if (rs6000_spe_string == NULL) \
     rs6000_spe = 1; \
   if (rs6000_isel_string == NULL) \
-    rs6000_isel = 1
+    rs6000_isel = 1; \
+  if (target_flags & MASK_64BIT) \
+    error ("-m64 not supported in this configuration")
 
 /* The e500 ABI says that either long doubles are 128 bits, or if
    implemented in any other size, the compiler/linker should error out.
 
   if (rs6000_spe_string == NULL) \
     rs6000_spe = 1; \
   if (rs6000_isel_string == NULL) \
-    rs6000_isel = 1
+    rs6000_isel = 1; \
+  if (target_flags & MASK_64BIT) \
+    error ("-m64 not supported in this configuration")
 
 /* The e500 ABI says that either long doubles are 128 bits, or if
    implemented in any other size, the compiler/linker should error out.
 
+2004-10-14  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * gcc.dg/ppc-spe64-1.c: New test.
+
 2004-10-14  Devang Patel  <dpatel@apple.com>
 
        PR 17635
 
--- /dev/null
+/* Test that SPE targets do not permit -m64.  */
+/* Origin: Joseph Myers <joseph@codesourcery.com> */
+/* { dg-do compile { target powerpc-*-*spe } } */
+/* { dg-options "-m64" } */
+
+/* { dg-error "-m64 not supported in this configuration" "SPE not 64-bit" { target *-*-* } 0 } */