diff options
author | Richard Henderson <rth@redhat.com> | 2002-10-24 02:02:24 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2002-10-24 02:02:24 -0700 |
commit | 3bd216f20128fabe1659826cc5717f2f4c7f8f71 (patch) | |
tree | 4872d54c6a68e5d36a81166e122435fbbb288ec7 /gcc/reload.c | |
parent | 60bc2b4b9cf62bd9b7294a80f2e42beb569fb7c2 (diff) | |
download | gcc-3bd216f20128fabe1659826cc5717f2f4c7f8f71.zip gcc-3bd216f20128fabe1659826cc5717f2f4c7f8f71.tar.gz gcc-3bd216f20128fabe1659826cc5717f2f4c7f8f71.tar.bz2 |
reload.c (find_reloads_toplev): Mode of X is not important when simplifying subregs of constants.
* reload.c (find_reloads_toplev): Mode of X is not important
when simplifying subregs of constants.
* g++.dg/opt/reload1.C: New.
From-SVN: r58490
Diffstat (limited to 'gcc/reload.c')
-rw-r--r-- | gcc/reload.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/reload.c b/gcc/reload.c index 9b779be..d500350 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -4471,8 +4471,7 @@ find_reloads_toplev (x, opnum, type, ind_levels, is_set_dest, insn, reg_equiv_constant[regno])) != 0) return tem; - if (GET_MODE_BITSIZE (GET_MODE (x)) == BITS_PER_WORD - && regno >= FIRST_PSEUDO_REGISTER && reg_renumber[regno] < 0 + if (regno >= FIRST_PSEUDO_REGISTER && reg_renumber[regno] < 0 && reg_equiv_constant[regno] != 0) { tem = |