1 Upstream-Status: Inappropriate [Backport]
2 From a03834fec84b808ccef5c0abb5c35d069d7ad868 Mon Sep 17 00:00:00 2001
3 From: nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
4 Date: Tue, 12 Apr 2011 11:33:07 +0000
5 Subject: [PATCH 108/200] * config/v850/v850.c (expand_prologue): Do not use the CALLT
6 instruction for interrupt handlers if the target is the basic V850
8 (expand_epilogue): Likewise.
10 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172312 138bc75d-0d04-0410-961f-82ee72b054a4
12 index 6d6ed78..d75f88c 100644
13 --- a/gcc/config/v850/v850.c
14 +++ b/gcc/config/v850/v850.c
15 @@ -1686,7 +1686,7 @@ expand_prologue (void)
16 /* Save/setup global registers for interrupt functions right now. */
17 if (interrupt_handler)
19 - if (! TARGET_DISABLE_CALLT)
20 + if (! TARGET_DISABLE_CALLT && (TARGET_V850E || TARGET_V850E2_ALL))
21 emit_insn (gen_callt_save_interrupt ());
23 emit_insn (gen_save_interrupt ());
24 @@ -1768,7 +1768,7 @@ expand_prologue (void)
25 /* Special case interrupt functions that save all registers for a call. */
26 if (interrupt_handler && ((1L << LINK_POINTER_REGNUM) & reg_saved) != 0)
28 - if (! TARGET_DISABLE_CALLT)
29 + if (! TARGET_DISABLE_CALLT && (TARGET_V850E || TARGET_V850E2_ALL))
30 emit_insn (gen_callt_save_all_interrupt ());
32 emit_insn (gen_save_all_interrupt ());
33 @@ -2019,7 +2019,7 @@ expand_epilogue (void)
34 /* And return or use reti for interrupt handlers. */
35 if (interrupt_handler)
37 - if (! TARGET_DISABLE_CALLT)
38 + if (! TARGET_DISABLE_CALLT && (TARGET_V850E || TARGET_V850E2_ALL))
39 emit_insn (gen_callt_return_interrupt ());
41 emit_jump_insn (gen_return_interrupt ());