summaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
authorNathan Froyd <froydnj@codesourcery.com>2010-12-30 15:47:43 +0000
committerNathan Froyd <froydnj@gcc.gnu.org>2010-12-30 15:47:43 +0000
commit08b2ba302b753810b42419f77415a77e16262901 (patch)
tree1f6201ad3996b3c23e7df3db877c16fca1600bd2 /gcc/reload1.c
parent829f3c640f8e5375345115a1871a0e54e7fe2170 (diff)
downloadgcc-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.c11
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)
{