From 06b322fa4559dc317e1f0a55f05a1aebede46aea Mon Sep 17 00:00:00 2001 From: Kaz Kojima Date: Sat, 30 Aug 2008 22:23:20 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 7 +++++++ 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 + + 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 * 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; \ } \ -- 2.7.4