v850.c (expand_prologue): Do not use the CALLT instruction for interrupt handlers if...
* config/v850/v850.c (expand_prologue): Do not use the CALLT instruction for interrupt handlers if the target is the basic V850 architecture. (expand_epilogue): Likewise. From-SVN: r172313
This commit is contained in:
parent
74f091d686
commit
e5db8f2fde
|
@ -1,3 +1,10 @@
|
|||
2011-04-12 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* config/v850/v850.c (expand_prologue): Do not use the CALLT
|
||||
instruction for interrupt handlers if the target is the basic V850
|
||||
architecture.
|
||||
(expand_epilogue): Likewise.
|
||||
|
||||
2011-04-12 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/48549
|
||||
|
|
|
@ -1690,7 +1690,7 @@ expand_prologue (void)
|
|||
/* Save/setup global registers for interrupt functions right now. */
|
||||
if (interrupt_handler)
|
||||
{
|
||||
if (! TARGET_DISABLE_CALLT)
|
||||
if (! TARGET_DISABLE_CALLT && (TARGET_V850E || TARGET_V850E2_ALL))
|
||||
emit_insn (gen_callt_save_interrupt ());
|
||||
else
|
||||
emit_insn (gen_save_interrupt ());
|
||||
|
@ -1772,7 +1772,7 @@ expand_prologue (void)
|
|||
/* Special case interrupt functions that save all registers for a call. */
|
||||
if (interrupt_handler && ((1L << LINK_POINTER_REGNUM) & reg_saved) != 0)
|
||||
{
|
||||
if (! TARGET_DISABLE_CALLT)
|
||||
if (! TARGET_DISABLE_CALLT && (TARGET_V850E || TARGET_V850E2_ALL))
|
||||
emit_insn (gen_callt_save_all_interrupt ());
|
||||
else
|
||||
emit_insn (gen_save_all_interrupt ());
|
||||
|
@ -2023,7 +2023,7 @@ expand_epilogue (void)
|
|||
/* And return or use reti for interrupt handlers. */
|
||||
if (interrupt_handler)
|
||||
{
|
||||
if (! TARGET_DISABLE_CALLT)
|
||||
if (! TARGET_DISABLE_CALLT && (TARGET_V850E || TARGET_V850E2_ALL))
|
||||
emit_insn (gen_callt_return_interrupt ());
|
||||
else
|
||||
emit_jump_insn (gen_return_interrupt ());
|
||||
|
|
Loading…
Reference in New Issue