aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-07-01 13:49:42 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-07-01 13:49:42 -0400
commit16454bf22c617f6f571a4065ce8a87444d7b9aea (patch)
tree61aa83add11fd0e87e4dd9219c5fa9f052ec75d6 /gcc
parentf71c71f188745b140c7237b71643d4bd30c9cdd6 (diff)
downloadgcc-16454bf22c617f6f571a4065ce8a87444d7b9aea.zip
gcc-16454bf22c617f6f571a4065ce8a87444d7b9aea.tar.gz
gcc-16454bf22c617f6f571a4065ce8a87444d7b9aea.tar.bz2
(FUNCTION_EXTRA_PROLOGUE): New macro.
From-SVN: r7630
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/m68k/mot3300.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/config/m68k/mot3300.h b/gcc/config/m68k/mot3300.h
index e0be06f..f20a18e 100644
--- a/gcc/config/m68k/mot3300.h
+++ b/gcc/config/m68k/mot3300.h
@@ -103,6 +103,13 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
"%a0", "%a1", "%a2", "%a3", "%a4", "%a5", "%fp", "%sp", \
"%fp0", "%fp1", "%fp2", "%fp3", "%fp4", "%fp5", "%fp6", "%fp7"}
+#undef FUNCTION_EXTRA_EPILOGUE
+#define FUNCTION_EXTRA_EPILOGUE(FILE, SIZE) \
+ { extern int current_function_returns_pointer; \
+ if ((current_function_returns_pointer) && \
+ ! find_equiv_reg (0, get_last_insn (), 0, 0, 0, 8, Pmode)) \
+ asm_fprintf (FILE, "\tmovl %Rd0,%Ra0\n"); }
+
#undef FUNCTION_PROFILER
#define FUNCTION_PROFILER(FILE, LABEL_NO) \
fprintf (FILE, "\tmov.l &LP%%%d,%%a0\n\tjsr mcount%%\n", (LABEL_NO))