OSDN Git Service

PR target/11014
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 28 Jun 2003 00:36:23 +0000 (00:36 +0000)
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 28 Jun 2003 00:36:23 +0000 (00:36 +0000)
* config/m68k/m68k.c (m68k_output_mi_thunk): Use correct assembly
syntax for MIT / MOTOROLA.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68623 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/m68k/m68k.c

index 60e018b..d30b4db 100644 (file)
@@ -8,6 +8,10 @@
 
        * unwind-c.c (PERSONALITY_FUNCTION): Delete duplicate define.
 
+       PR target/11014
+       * config/m68k/m68k.c (m68k_output_mi_thunk): Use correct assembly
+       syntax for MIT / MOTOROLA.
+
 2003-06-27  Chris Demetriou  <cgd@broadcom.com>
 
        * config/mips/mips.c (mips_build_va_list): Make padding in
index d4df6cf..3d03481 100644 (file)
@@ -3691,11 +3691,23 @@ m68k_output_mi_thunk (file, thunk, delta, vcall_offset, function)
   const char *fmt;
 
   if (delta > 0 && delta <= 8)
+#ifdef MOTOROLA
     asm_fprintf (file, "\taddq.l %I%d,4(%Rsp)\n", (int) delta);
+#else
+    asm_fprintf (file, "\taddql %I%d,%Rsp@(4)\n", (int) delta);
+#endif
   else if (delta < 0 && delta >= -8)
+#ifdef MOTOROLA
     asm_fprintf (file, "\tsubq.l %I%d,4(%Rsp)\n", (int) -delta);
+#else
+    asm_fprintf (file, "\tsubql %I%d,%Rsp@(4)\n", (int) -delta);
+#endif
   else
+#ifdef MOTOROLA
     asm_fprintf (file, "\tadd.l %I%wd,4(%Rsp)\n", delta);
+#else
+    asm_fprintf (file, "\taddl %I%wd,%Rsp@(4)\n", delta);
+#endif
 
   xops[0] = DECL_RTL (function);
 
@@ -3720,7 +3732,7 @@ m68k_output_mi_thunk (file, thunk, delta, vcall_offset, function)
 #ifdef USE_GAS
          fmt = "bra.l %0";
 #else
-         fmt = "jbra %0,a1";
+         fmt = "jra %0,a1";
 #endif
 #endif
        }
@@ -3734,7 +3746,7 @@ m68k_output_mi_thunk (file, thunk, delta, vcall_offset, function)
       fmt = "jmp %0";
 #endif
 #else
-      fmt = "jbra %0";
+      fmt = "jra %0";
 #endif
     }