diff options
author | Stuart Henderson <shenders@gcc.gnu.org> | 2011-05-04 10:42:59 +0000 |
---|---|---|
committer | Stuart Henderson <shenders@gcc.gnu.org> | 2011-05-04 10:42:59 +0000 |
commit | 9f8d69ee246583778c5eb61b430eb465477742f3 (patch) | |
tree | 8cff581693c884639ccb8a836f798ec0eef5501d /gcc | |
parent | 5b56b9d2e77047a14a4dde4754dec934292a08a8 (diff) | |
download | gcc-9f8d69ee246583778c5eb61b430eb465477742f3.zip gcc-9f8d69ee246583778c5eb61b430eb465477742f3.tar.gz gcc-9f8d69ee246583778c5eb61b430eb465477742f3.tar.bz2 |
2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
From Jie Zhang
* config/bfin/bfin.c (bfin_expand_prologue): Don't clobber P2.
From-SVN: r173364
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/bfin/bfin.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6f30c31..3722fe5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-05-04 Stuart Henderson <shenders@gcc.gnu.org> + + From Jie Zhang + * config/bfin/bfin.c (bfin_expand_prologue): Don't clobber P2. + 2011-05-04 Nick Clifton <nickc@redhat.com> * config/mn10300/mn10300.c: Include cfgloop.h. diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c index e046789..596042d 100644 --- a/gcc/config/bfin/bfin.c +++ b/gcc/config/bfin/bfin.c @@ -1341,8 +1341,10 @@ bfin_expand_prologue (void) = bfin_initial_elimination_offset (ARG_POINTER_REGNUM, STACK_POINTER_REGNUM); rtx lim = crtl->limit_stack ? stack_limit_rtx : NULL_RTX; + rtx tmp = gen_rtx_REG (Pmode, REG_R3); rtx p2reg = gen_rtx_REG (Pmode, REG_P2); + emit_move_insn (tmp, p2reg); if (!lim) { emit_move_insn (p2reg, gen_int_mode (0xFFB00000, SImode)); @@ -1379,6 +1381,7 @@ bfin_expand_prologue (void) } emit_insn (gen_compare_lt (bfin_cc_rtx, spreg, lim)); emit_insn (gen_trapifcc ()); + emit_move_insn (p2reg, tmp); } expand_prologue_reg_save (spreg, all, false); |