]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/blob
033a5ce262075bde3c475416eee319ac41481a2d
[thirdparty/openembedded/openembedded-core-contrib.git] /
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
7 architecture.
8 (expand_epilogue): Likewise.
9
10 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172312 138bc75d-0d04-0410-961f-82ee72b054a4
11
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)
18 {
19 - if (! TARGET_DISABLE_CALLT)
20 + if (! TARGET_DISABLE_CALLT && (TARGET_V850E || TARGET_V850E2_ALL))
21 emit_insn (gen_callt_save_interrupt ());
22 else
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)
27 {
28 - if (! TARGET_DISABLE_CALLT)
29 + if (! TARGET_DISABLE_CALLT && (TARGET_V850E || TARGET_V850E2_ALL))
30 emit_insn (gen_callt_save_all_interrupt ());
31 else
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)
36 {
37 - if (! TARGET_DISABLE_CALLT)
38 + if (! TARGET_DISABLE_CALLT && (TARGET_V850E || TARGET_V850E2_ALL))
39 emit_insn (gen_callt_return_interrupt ());
40 else
41 emit_jump_insn (gen_return_interrupt ());
42 --
43 1.7.0.4
44