Buglet in cris_preferred_reload_class, incidental, apparently
without effect at least regarding failing test-cases.  A class
disjunct from the input was returned as "preferred".  It could
arguably be gcc_asserted as a sanity-check by the caller that
the returned class is a subset of the original class.  ...and I
guess I'll add such a gcc_assert *inside*
cris_preferred_reload_class.  Later.  No regressions, cris-elf
and crisv32-elf.  Committed.

gcc:
        * config/cris/cris.c (cris_preferred_reload_class):
        Don't return GENERAL_REGS as preferred to MOF_SRP_REGS.

Index: gcc/config/cris/cris.c
===================================================================
--- gcc/config/cris/cris.c      (revision 189470)
+++ gcc/config/cris/cris.c      (working copy)
@@ -1503,6 +1550,7 @@ cris_preferred_reload_class (rtx x ATTRI
 {
   if (rclass != ACR_REGS
       && rclass != MOF_REGS
+      && rclass != MOF_SRP_REGS
       && rclass != SRP_REGS
       && rclass != CC0_REGS
       && rclass != SPECIAL_REGS)


brgds, H-P

Reply via email to