This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RFA: patch to fix PR58967


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)))




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]