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