aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGunther Nikl <gni@gecko.de>2003-06-28 00:36:23 +0000
committerJim Wilson <wilson@gcc.gnu.org>2003-06-27 17:36:23 -0700
commit1d6302b17749be4adcb944d4ac636216a1b40ddc (patch)
tree94fc9d5bd9cc654d4d48a993351222c6beda5b8d
parent8ce332308c738cc38d292de5978e37dde916ba34 (diff)
downloadgcc-1d6302b17749be4adcb944d4ac636216a1b40ddc.zip
gcc-1d6302b17749be4adcb944d4ac636216a1b40ddc.tar.gz
gcc-1d6302b17749be4adcb944d4ac636216a1b40ddc.tar.bz2
re PR target/11014 ([m68k] MIT / MOTOROLA assembly conflict)
PR target/11014 * config/m68k/m68k.c (m68k_output_mi_thunk): Use correct assembly syntax for MIT / MOTOROLA. From-SVN: r68623
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/m68k/m68k.c16
2 files changed, 18 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 60e018b..d30b4db 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 <cgd@broadcom.com>
* 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 d4df6cf..3d03481 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
}