(PREFERRED_RELOAD_CLASS): FP constants rejected by 'G' are OK for

class FP_REGS.

From-SVN: r8395
This commit is contained in:
Richard Kenner 1994-11-05 14:25:31 -05:00
parent db907e7b32
commit 9c05a5ad82

View File

@ -677,8 +677,9 @@ extern enum reg_class regno_reg_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
if possible. */
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 \
@ -689,7 +690,9 @@ extern enum reg_class regno_reg_class[];
? DATA_REGS \
: (GET_CODE (X) == CONST_DOUBLE \
&& GET_MODE_CLASS (GET_MODE (X)) == MODE_FLOAT) \
? NO_REGS \
? (! CONST_DOUBLE_OK_FOR_LETTER_P (X, 'G') \
&& CLASS == FP_REGS \
? FP_REGS : NO_REGS) \
: (CLASS))
/* Return the maximum number of consecutive registers