diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 60e018b2234..d30b4db4ca8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 * config/mips/mips.c (mips_build_va_list): Make padding in diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index d4df6cf3351..3d034819ea3 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -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 }