diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-10-24 09:02:24 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-10-24 09:02:24 +0000 |
commit | a5da0d3c0c19dbb67d18b9bf4a1599b37d3a0c2e (patch) | |
tree | 4872d54c6a68e5d36a81166e122435fbbb288ec7 /gcc/reload.c | |
parent | 0e760677f4e64f9700e83cb247eeab452cd0379a (diff) | |
download | gcc-a5da0d3c0c19dbb67d18b9bf4a1599b37d3a0c2e.tar.gz |
* reload.c (find_reloads_toplev): Mode of X is not important
when simplifying subregs of constants.
* g++.dg/opt/reload1.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@58490 138bc75d-0d04-0410-961f-82ee72b054a4
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 9b779beeabc..d500350f868 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 = |