This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RFA: patch to fix PR58967
- From: Vladimir Makarov <vmakarov at redhat dot com>
- To: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Cc: David Edelsohn <dje dot gcc at gmail dot com>, Michael Meissner <meissner at linux dot vnet dot ibm dot com>
- Date: Mon, 04 Nov 2013 14:23:34 -0500
- Subject: RFA: patch to fix PR58967
- Authentication-results: sourceware.org; auth=none
The following patch fixes
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58967
The removed code is too old. To be honest, I even don't remember why I
added this. LRA has been changed a lot since this change and now it
works fine without it.
There is no test for this case as it is too big.
The patch was successfully bootstrapped on ppc64 (with LRA) and tested
on ppc{32|64}.
Is it ok to commit it to the trunk?
2013-11-04 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/58967
* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
!lra_in_progress for mode sizes bigger word.
Index: config/rs6000/rs6000.c
===================================================================
--- config/rs6000/rs6000.c (revision 204305)
+++ config/rs6000/rs6000.c (working copy)
@@ -6388,7 +6388,7 @@ legitimate_lo_sum_address_p (enum machin
return false;
if (GET_MODE_NUNITS (mode) != 1)
return false;
- if (! lra_in_progress && GET_MODE_SIZE (mode) > UNITS_PER_WORD
+ if (GET_MODE_SIZE
(mottp://gcc.gnu.org/bugzilla/show_bug.cgi?id=58967de) > UNITS_PER_WORD
&& !(/* ??? Assume floating point reg based on mode? */
TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT
&& (mode == DFmode || mode == DDmode)))