aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaveen H.S <naveen.S@kpitcummins.com>2012-03-30 21:41:45 +0000
committerKaz Kojima <kkojima@gcc.gnu.org>2012-03-30 21:41:45 +0000
commit57c7433fdc3fcb7b0cfd7b13bd11360a5e17c624 (patch)
treeb1f17f682704a0497d616cde2079f1c3b0079de4
parent456fba2651cfb0cb67e44b8354668a0b3f5f5182 (diff)
downloadgcc-57c7433fdc3fcb7b0cfd7b13bd11360a5e17c624.zip
gcc-57c7433fdc3fcb7b0cfd7b13bd11360a5e17c624.tar.gz
gcc-57c7433fdc3fcb7b0cfd7b13bd11360a5e17c624.tar.bz2
sh.c (push_regs): Skip banked registers when resbank attribute is specified.
* config/sh/sh.c (push_regs): Skip banked registers when resbank attribute is specified. (sh_expand_epilogue): Likewise. Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org> From-SVN: r186024
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/sh/sh.c8
2 files changed, 13 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 294ccaa..d043b8f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2012-03-30 Naveen H.S <naveen.S@kpitcummins.com>
+ Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (push_regs): Skip banked registers when
+ resbank attribute is specified.
+ (sh_expand_epilogue): Likewise.
+
2012-03-30 Richard Henderson <rth@redhat.com>
PR debug/52727
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 1997300..3e85fcf 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -6487,7 +6487,9 @@ push_regs (HARD_REG_SET *mask, int interrupt_handler)
use_movml = true;
}
- if (use_movml)
+ if (sh_cfun_resbank_handler_p ())
+ ; /* Do nothing. */
+ else if (use_movml)
{
rtx x, mem, reg, set;
rtx sp_reg = gen_rtx_REG (SImode, STACK_POINTER_REGNUM);
@@ -7485,7 +7487,9 @@ sh_expand_epilogue (bool sibcall_p)
use_movml = true;
}
- if (use_movml)
+ if (sh_cfun_resbank_handler_p ())
+ ; /* Do nothing. */
+ else if (use_movml)
{
rtx sp_reg = gen_rtx_REG (SImode, STACK_POINTER_REGNUM);