From bc305e42e4ab2562f25a114b82e143a9234839a3 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Sun, 27 Jun 1999 22:18:34 -0600 Subject: [PATCH] m68k.h (PREFERRED_RELOAD_CLASS): Don't force any FP const_doubles to memory. P * m68k.h (PREFERRED_RELOAD_CLASS): Don't force any FP const_doubles to memory. From-SVN: r27803 --- gcc/config/m68k/m68k.h | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index 268b639d8b73..8152cddb8b5b 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -772,23 +772,19 @@ extern enum reg_class regno_reg_class[]; in some cases it is preferable to use a more restrictive class. On the 68000 series, use a data reg if possible when the value is a constant in the range where moveq could be used - and we ensure that QImodes are reloaded into data regs. - Also, if a floating constant needs reloading, put it in memory. - Don't do this for !G constants, since all patterns in the md file - expect them to be loaded into a register via fpmovecr. See above. */ - -#define PREFERRED_RELOAD_CLASS(X,CLASS) \ - ((GET_CODE (X) == CONST_INT \ - && (unsigned) (INTVAL (X) + 0x80) < 0x100 \ - && (CLASS) != ADDR_REGS) \ - ? DATA_REGS \ - : (GET_MODE (X) == QImode && (CLASS) != ADDR_REGS) \ - ? DATA_REGS \ - : (GET_CODE (X) == CONST_DOUBLE \ - && GET_MODE_CLASS (GET_MODE (X)) == MODE_FLOAT) \ - ? (! CONST_DOUBLE_OK_FOR_LETTER_P (X, 'G') \ - && (CLASS == FP_REGS || CLASS == DATA_OR_FP_REGS) \ - ? FP_REGS : NO_REGS) \ + and we ensure that QImodes are reloaded into data regs. */ + +#define PREFERRED_RELOAD_CLASS(X,CLASS) \ + ((GET_CODE (X) == CONST_INT \ + && (unsigned) (INTVAL (X) + 0x80) < 0x100 \ + && (CLASS) != ADDR_REGS) \ + ? DATA_REGS \ + : (GET_MODE (X) == QImode && (CLASS) != ADDR_REGS) \ + ? DATA_REGS \ + : (GET_CODE (X) == CONST_DOUBLE \ + && GET_MODE_CLASS (GET_MODE (X)) == MODE_FLOAT) \ + ? (TARGET_68881 && (CLASS == FP_REGS || CLASS == DATA_OR_FP_REGS) \ + ? FP_REGS : NO_REGS) \ : (CLASS)) /* Force QImode output reloads from subregs to be allocated to data regs, -- 2.47.2