From: Nick Clifton Date: Tue, 12 Apr 2011 11:34:26 +0000 (+0000) Subject: v850.c (expand_prologue): Do not use the CALLT instruction for interrupt handlers... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e5db8f2fdee28a867df2ada8f2631d62715a1ac9;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6aea7a491f3..d7a72dbf44c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2011-04-12 Nick Clifton + + * 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 PR rtl-optimization/48549 diff --git a/gcc/config/v850/v850.c b/gcc/config/v850/v850.c index f2275961b3a..b0b9388a0ab 100644 --- a/gcc/config/v850/v850.c +++ b/gcc/config/v850/v850.c @@ -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 ());