Hi,

as Richard said, only a subset of rclass is allowed to be returned by
preferred_reload_class.  I've tested the attached patched in Thumb
mode, on ARMv5, A9 and A9hf and on cross A15 without regression.

Yvan

2013-11-20  Yvan Roux  <yvan.r...@linaro.org>

        PR target/58785
        * config/arm/arm.c (arm_preferred_reload_class): Only return LO_REGS
        when rclass is GENERAL_REGS.
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 5c53440..63f10bd 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -6882,10 +6882,7 @@ arm_preferred_reload_class (rtx x ATTRIBUTE_UNUSED, 
reg_class_t rclass)
     return rclass;
   else
     {
-      if (rclass == GENERAL_REGS
-         || rclass == HI_REGS
-         || rclass == NO_REGS
-         || rclass == STACK_REG)
+      if (rclass == GENERAL_REGS)
        return LO_REGS;
       else
        return rclass;

Reply via email to