>         * 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

Reply via email to