diff options
author | Kaz Kojima <kkojima@gcc.gnu.org> | 2008-08-30 22:23:20 +0000 |
---|---|---|
committer | Kaz Kojima <kkojima@gcc.gnu.org> | 2008-08-30 22:23:20 +0000 |
commit | 06b322fa4559dc317e1f0a55f05a1aebede46aea (patch) | |
tree | cc088bf424d4c8d5faa0b6e246b7b499073eadcb | |
parent | 588a58df9a9a8cee443c59ad5f2ef972d8a5908e (diff) | |
download | gcc-06b322fa4559dc317e1f0a55f05a1aebede46aea.zip gcc-06b322fa4559dc317e1f0a55f05a1aebede46aea.tar.gz gcc-06b322fa4559dc317e1f0a55f05a1aebede46aea.tar.bz2 |
re PR target/37270 (SH: spill failure for R0_REGS)
PR target/37270
* config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Generate
the reload address with the index register for SFmode
access with a displacement.
From-SVN: r139809
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/sh/sh.h | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2449325..6f77e5c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2008-08-30 Kaz Kojima <kkojima@gcc.gnu.org> + + PR target/37270 + * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Generate + the reload address with the index register for SFmode + access with a displacement. + 2008-08-30 Jan Hubicka <jh@suse.cz> * optabs.c (expand_abs_nojump): Update BRANCH_COST call. diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index 15bc744..d5ea612 100644 --- a/gcc/config/sh/sh.h +++ b/gcc/config/sh/sh.h @@ -2613,8 +2613,8 @@ struct sh_args { if (TARGET_SH2E && MODE == SFmode) \ { \ X = copy_rtx (X); \ - push_reload (index_rtx, NULL_RTX, &XEXP (X, 1), NULL, \ - R0_REGS, Pmode, VOIDmode, 0, 0, (OPNUM), \ + push_reload (X, NULL_RTX, &X, NULL, \ + BASE_REG_CLASS, Pmode, VOIDmode, 0, 0, (OPNUM), \ (TYPE)); \ goto WIN; \ } \ |