+2002-03-20 Philip Blundell <pb@nexus.co.uk>
+
+ * config/arm/arm.c (arm_output_epilogue): Don't generate separate
+ return instruction if PC was popped.
+
2002-03-20 Bob Wilson <bob.wilson@acm.org>
* config/xtensa/xtensa.md: Remove unused type attributes.
to load use the LDR instruction - it is faster. */
if (saved_regs_mask == (1 << LR_REGNUM))
{
- /* The excpetion handler ignores the LR, so we do
+ /* The exception handler ignores the LR, so we do
not really need to load it off the stack. */
if (eh_ofs)
asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM);
REGNO (eh_ofs));
#endif
- if (! really_return)
+ if (! really_return
+ || (ARM_FUNC_TYPE (func_type) == ARM_FT_NORMAL
+ && current_function_pretend_args_size == 0
+ && saved_regs_mask & (1 << PC_REGNUM)))
return "";
/* Generate the return instruction. */