https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118996

--- Comment #10 from H.J. Lu <hjl.tools at gmail dot com> ---
Testing this:

diff --git a/gcc/ira.cc b/gcc/ira.cc
index 885239d1b43..e93a596e2a9 100644
--- a/gcc/ira.cc
+++ b/gcc/ira.cc
@@ -2158,6 +2158,10 @@ decrease_live_ranges_number (void)
       || (targetm.small_register_classes_for_mode_p (GET_MODE (src))
      && (sregno < FIRST_PSEUDO_REGISTER
          || dregno < FIRST_PSEUDO_REGISTER))
+      || (sregno < FIRST_PSEUDO_REGISTER
+     && targetm.class_likely_spilled_p (REGNO_REG_CLASS (sregno)))
+      || (dregno < FIRST_PSEUDO_REGISTER
+     && targetm.class_likely_spilled_p (REGNO_REG_CLASS (dregno)))
       /* We don't see all updates to SP if they are in an
          auto-inc memory reference, so we must disallow this
          optimization on them.  */

Reply via email to