diff options
author | Nathan Froyd <froydnj@codesourcery.com> | 2010-12-30 15:47:43 +0000 |
---|---|---|
committer | Nathan Froyd <froydnj@gcc.gnu.org> | 2010-12-30 15:47:43 +0000 |
commit | 08b2ba302b753810b42419f77415a77e16262901 (patch) | |
tree | 1f6201ad3996b3c23e7df3db877c16fca1600bd2 /gcc/reload1.c | |
parent | 829f3c640f8e5375345115a1871a0e54e7fe2170 (diff) | |
download | gcc-08b2ba302b753810b42419f77415a77e16262901.tar.gz |
re PR target/44606 (Wrong SPE floating point during computation)
gcc/
PR target/44606
* reload1.c (choose_reload_regs): Don't look for equivalences for
output reloads of constant loads.
gcc/testsuite/
PR target/44606
* gcc.dg/pr44606.c: New test.
From-SVN: r168347
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r-- | gcc/reload1.c | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index da354a7e325..2f02ae38158 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -6600,17 +6600,6 @@ choose_reload_regs (struct insn_chain *chain) && (rld[r].nregs == max_group_size || ! reg_classes_intersect_p (rld[r].rclass, group_class))) search_equiv = rld[r].in; - /* If this is an output reload from a simple move insn, look - if an equivalence for the input is available. */ - else if (inheritance && rld[r].in == 0 && rld[r].out != 0) - { - rtx set = single_set (insn); - - if (set - && rtx_equal_p (rld[r].out, SET_DEST (set)) - && CONSTANT_P (SET_SRC (set))) - search_equiv = SET_SRC (set); - } if (search_equiv) { |