On 20/11/13 09:22, Yvan Roux wrote: > 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. > > > preferred_reload.diff > > > 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; >
OK. R.