2007-01-12 Julian Brown <julian@codesourcery.com>
+
+ * config/m68k/m68k.h (TUNE_68040_60): New macro.
+ * config/m68k/m68k.c (standard_68881_constant_p): Use it.
+ * config/m68k/m68k.md: Likewise.
+
+2007-01-12 Julian Brown <julian@codesourcery.com>
Richard Sandiford <richard@codesourcery.com>
* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Use TUNE_68030
/* fmovecr must be emulated on the 68040 and 68060, so it shouldn't be
used at all on those chips. */
- if (TUNE_68040 || TUNE_68060)
+ if (TUNE_68040_60)
return 0;
if (! inited_68881_table)
#define TUNE_68030 TARGET_68030
#define TUNE_68040 TARGET_68040
#define TUNE_68060 TARGET_68060
+#define TUNE_68040_60 (TUNE_68040 || TUNE_68060)
#define TUNE_CFV2 TARGET_5200
#define OVERRIDE_OPTIONS override_options()
if (ADDRESS_REG_P (operands[0]))
{
/* On the '040, 'subl an,an' takes 2 clocks while lea takes only 1 */
- if (!TUNE_68040 && !TUNE_68060)
- return "sub%.l %0,%0";
- else
+ if (TUNE_68040_60)
return MOTOROLA ? "lea 0.w,%0" : "lea 0:w,%0";
+ else
+ return "sub%.l %0,%0";
}
/* moveq is faster on the 68000. */
if (DATA_REG_P (operands[0]) && TUNE_68000_10)
if (ADDRESS_REG_P (operands[0]))
{
/* On the '040, 'subl an,an' takes 2 clocks while lea takes only 1 */
- if (!TUNE_68040 && !TUNE_68060)
- return "sub%.l %0,%0";
- else
+ if (TUNE_68040_60)
return MOTOROLA ? "lea 0.w,%0" : "lea 0:w,%0";
+ else
+ return "sub%.l %0,%0";
}
/* moveq is faster on the 68000. */
if (DATA_REG_P (operands[0]) && TUNE_68000_10)
"TARGET_68881"
{
if (GET_CODE (operands[2]) == CONST_DOUBLE
- && floating_exact_log2 (operands[2]) && !TUNE_68040 && !TUNE_68060)
+ && floating_exact_log2 (operands[2]) && !TUNE_68040_60)
{
int i = floating_exact_log2 (operands[2]);
operands[2] = GEN_INT (i);