> * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Remove. > * config/sparc/sparc.c (TARGET_PREFERRED_RELOAD_CLASS): Define. > (sparc_preferred_reload_class): New function.
OK, modulo > + if (FP_REG_CLASS_P (rclass) > + || rclass == GENERAL_OR_FP_REGS > + || rclass == GENERAL_OR_EXTRA_FP_REGS > + || (GET_MODE_CLASS (GET_MODE (x)) == MODE_FLOAT && ! TARGET_FPU) > + || (GET_MODE (x) == TFmode && ! const_zero_operand (x, TFmode))) > + return NO_REGS; > + else if (!FP_REG_CLASS_P (rclass) > + && GET_MODE_CLASS (GET_MODE (x)) == MODE_INT) > + return GENERAL_REGS; Drop the else and the useless !FP_REG_CLASS_P (rclass) test: + if (FP_REG_CLASS_P (rclass) + || rclass == GENERAL_OR_FP_REGS + || rclass == GENERAL_OR_EXTRA_FP_REGS + || (GET_MODE_CLASS (GET_MODE (x)) == MODE_FLOAT && ! TARGET_FPU) + || (GET_MODE (x) == TFmode && ! const_zero_operand (x, TFmode))) + return NO_REGS; + + if (GET_MODE_CLASS (GET_MODE (x)) == MODE_INT) + return GENERAL_REGS; No need to retest, just make sure this compiles and install, thanks. -- Eric Botcazou