diff options
author | Roger Sayle <roger@eyesopen.com> | 2006-06-12 02:10:24 +0000 |
---|---|---|
committer | Roger Sayle <roger@eyesopen.com> | 2006-06-12 02:10:24 +0000 |
commit | f7e53137c91250551a29d3e04a28c54052569208 (patch) | |
tree | 36cefbde6ef807e5ec40c30f0895a96486d5e1be /gcc/reload.c | |
parent | 417a3212fb7df10d104292ce108188ef53c741ac (diff) |
PR target/27858
Revert incorrect fix for PR target/27158
2006-05-08 Roger Sayle <roger@eyesopen.com>
* reload.c (find_reloads_toplev): Only return the simplified SUBREG
of a reg_equiv_constant if the result is a legitimate constant.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@114559 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reload.c')
-rw-r--r-- | gcc/reload.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/reload.c b/gcc/reload.c index 6ce18711fd0..616a73726a1 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -4572,8 +4572,7 @@ find_reloads_toplev (rtx x, int opnum, enum reload_type type, && reg_renumber[regno] < 0 && reg_equiv_constant[regno] != 0 && (tem = gen_lowpart_common (GET_MODE (x), - reg_equiv_constant[regno])) != 0 - && LEGITIMATE_CONSTANT_P (tem)) + reg_equiv_constant[regno])) != 0) return tem; if (regno >= FIRST_PSEUDO_REGISTER @@ -4584,8 +4583,7 @@ find_reloads_toplev (rtx x, int opnum, enum reload_type type, simplify_gen_subreg (GET_MODE (x), reg_equiv_constant[regno], GET_MODE (SUBREG_REG (x)), SUBREG_BYTE (x)); gcc_assert (tem); - if (LEGITIMATE_CONSTANT_P (tem)) - return tem; + return tem; } /* If the subreg contains a reg that will be converted to a mem, |