200x-xx-xx Julian Brown <julian@codesourcery.com>

gcc/
200x-xx-xx  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.

From-SVN: r120707
This commit is contained in:
Julian Brown 2007-01-12 09:20:49 +00:00 committed by Richard Sandiford
parent fe95f2f799
commit 9cf106c865
4 changed files with 15 additions and 8 deletions

View File

@ -1,3 +1,9 @@
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>

View File

@ -2789,7 +2789,7 @@ standard_68881_constant_p (rtx x)
/* 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)

View File

@ -130,6 +130,7 @@ Boston, MA 02110-1301, USA. */
#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()

View File

@ -618,10 +618,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)
@ -846,10 +846,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)
@ -2869,7 +2869,7 @@
"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);