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
This commit is contained in:
Saurabh Verma 2005-09-06 22:29:45 +00:00 committed by Andrew Pinski
parent 006fa7d428
commit 3273516f25
2 changed files with 13 additions and 2 deletions

View File

@ -1,3 +1,9 @@
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

View File

@ -1362,8 +1362,13 @@ arc_output_function_epilogue (FILE *file, HOST_WIDE_INT size)
static const int regs[4] = {
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
nop, unless we have an instruction to put into it. Otherwise