diff options
author | Richard Henderson <rth@redhat.com> | 2002-04-12 15:47:34 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2002-04-12 15:47:34 -0700 |
commit | 2f15e255eda3a0ef4e8f07c0176198ec0a1be7c5 (patch) | |
tree | 20073095e154766bb4d21c028a51e77ddd6319b4 /gcc/recog.c | |
parent | ef290537a3018e8ce7f449b8b3dfefa7efcc2be6 (diff) | |
download | gcc-2f15e255eda3a0ef4e8f07c0176198ec0a1be7c5.zip gcc-2f15e255eda3a0ef4e8f07c0176198ec0a1be7c5.tar.gz gcc-2f15e255eda3a0ef4e8f07c0176198ec0a1be7c5.tar.bz2 |
recog.c (offsettable_address_p): Match the logic in adjust_address.
* recog.c (offsettable_address_p): Match the logic in adjust_address.
* config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
in 64-bit mode only. Use only for 32-bit or MEDLOW.
From-SVN: r52250
Diffstat (limited to 'gcc/recog.c')
-rw-r--r-- | gcc/recog.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/recog.c b/gcc/recog.c index 7987d20..2720d8e 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -1969,7 +1969,9 @@ offsettable_address_p (strictp, mode, y) of the specified mode. We assume that if Y and Y+c are valid addresses then so is Y+d for all 0<d<c. adjust_address will go inside a LO_SUM here, so we do so as well. */ - if (GET_CODE (y) == LO_SUM) + if (GET_CODE (y) == LO_SUM + && mode != BLKmode + && mode_sz <= GET_MODE_ALIGNMENT (mode) / BITS_PER_UNIT) z = gen_rtx_LO_SUM (GET_MODE (y), XEXP (y, 0), plus_constant (XEXP (y, 1), mode_sz - 1)); else |