diff options
author | Michael Hayes <m.hayes@elec.canterbury.ac.nz> | 2004-01-25 23:58:39 +0000 |
---|---|---|
committer | Michael Hayes <m.hayes@gcc.gnu.org> | 2004-01-25 23:58:39 +0000 |
commit | 12fb52cf279c409d5a4bd373e0c2163b490aa296 (patch) | |
tree | aa4d1a04f5630b1d6c248a5152c05f2e6c9f3bec | |
parent | fdcf1e1ed5a9668a5e8631968a2d54d6cc83c61a (diff) | |
download | gcc-12fb52cf279c409d5a4bd373e0c2163b490aa296.zip gcc-12fb52cf279c409d5a4bd373e0c2163b490aa296.tar.gz gcc-12fb52cf279c409d5a4bd373e0c2163b490aa296.tar.bz2 |
* config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Handle symref.
From-SVN: r76598
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/c4x/c4x.h | 8 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4b6de59..186bdb9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> + + * config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Handle symref. + 2003-04-25 Chris Demetriou <cgd@broadcom.com> * config/mips/mips.h (ISA_HAS_HILO_INTERLOCKS): MIPS32, MIPS32r2, diff --git a/gcc/config/c4x/c4x.h b/gcc/config/c4x/c4x.h index 37d0c9b..ca82dd8 100644 --- a/gcc/config/c4x/c4x.h +++ b/gcc/config/c4x/c4x.h @@ -1305,7 +1305,7 @@ CUMULATIVE_ARGS; if (! TARGET_SMALL) \ { \ int i; \ - X = gen_rtx_LO_SUM (GET_MODE (X), \ + (X) = gen_rtx_LO_SUM (GET_MODE (X), \ gen_rtx_HIGH (GET_MODE (X), X), X); \ i = push_reload (XEXP (X, 0), NULL_RTX, \ &XEXP (X, 0), NULL, \ @@ -1316,6 +1316,12 @@ CUMULATIVE_ARGS; rld[i].reg_rtx = gen_rtx_REG (Pmode, DP_REGNO); \ rld[i].nocombine = 1; \ } \ + else \ + { \ + /* make_memloc in reload will substitute invalid memory \ + references. We need to fix them up. */ \ + (X) = gen_rtx_LO_SUM (Pmode, gen_rtx_REG (Pmode, DP_REGNO), (X)); \ + } \ goto WIN; \ } \ else if (MODE != HImode \ |