Commit 3273516f by Saurabh Verma Committed by Andrew Pinski

re PR target/8973 ([arc-7-elf] the interupt handler does not return properly,…

re PR target/8973 ([arc-7-elf] the interupt handler does not return properly, uses j.d insted of j.d.f)

2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>

        PR target/8973
        * config/arc/arc.c (arc_output_function_epilogue): Update flags while
        returning from an interrupt handler.

From-SVN: r103972
parent 006fa7d4
2005-09-06 Saurabh Verma <saurabh.verma@codito.com> 2005-09-06 Saurabh Verma <saurabh.verma@codito.com>
PR target/8973
* config/arc/arc.c (arc_output_function_epilogue): Update flags while
returning from an interrupt handler.
2005-09-06 Saurabh Verma <saurabh.verma@codito.com>
PR target/8972 PR target/8972
* config/arc/arc.c (output_shift): Add check for loop count when * config/arc/arc.c (output_shift): Add check for loop count when
optimizing. optimizing.
......
...@@ -1362,8 +1362,13 @@ arc_output_function_epilogue (FILE *file, HOST_WIDE_INT size) ...@@ -1362,8 +1362,13 @@ arc_output_function_epilogue (FILE *file, HOST_WIDE_INT size)
static const int regs[4] = { static const int regs[4] = {
0, RETURN_ADDR_REGNUM, ILINK1_REGNUM, ILINK2_REGNUM 0, RETURN_ADDR_REGNUM, ILINK1_REGNUM, ILINK2_REGNUM
}; };
fprintf (file, "\tj.d %s\n", reg_names[regs[fn_type]]);
} /* Update the flags, if returning from an interrupt handler. */
if (ARC_INTERRUPT_P (fn_type))
fprintf (file, "\tj.d.f %s\n", reg_names[regs[fn_type]]);
else
fprintf (file, "\tj.d %s\n", reg_names[regs[fn_type]]);
}
/* If the only register saved is the return address, we need a /* If the only register saved is the return address, we need a
nop, unless we have an instruction to put into it. Otherwise nop, unless we have an instruction to put into it. Otherwise
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment