Commit 9cf106c8 by Julian Brown Committed by Richard Sandiford

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
parent fe95f2f7
2007-01-12 Julian Brown <julian@codesourcery.com> 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> Richard Sandiford <richard@codesourcery.com>
* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Use TUNE_68030 * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Use TUNE_68030
......
...@@ -2789,7 +2789,7 @@ standard_68881_constant_p (rtx x) ...@@ -2789,7 +2789,7 @@ standard_68881_constant_p (rtx x)
/* fmovecr must be emulated on the 68040 and 68060, so it shouldn't be /* fmovecr must be emulated on the 68040 and 68060, so it shouldn't be
used at all on those chips. */ used at all on those chips. */
if (TUNE_68040 || TUNE_68060) if (TUNE_68040_60)
return 0; return 0;
if (! inited_68881_table) if (! inited_68881_table)
......
...@@ -130,6 +130,7 @@ Boston, MA 02110-1301, USA. */ ...@@ -130,6 +130,7 @@ Boston, MA 02110-1301, USA. */
#define TUNE_68030 TARGET_68030 #define TUNE_68030 TARGET_68030
#define TUNE_68040 TARGET_68040 #define TUNE_68040 TARGET_68040
#define TUNE_68060 TARGET_68060 #define TUNE_68060 TARGET_68060
#define TUNE_68040_60 (TUNE_68040 || TUNE_68060)
#define TUNE_CFV2 TARGET_5200 #define TUNE_CFV2 TARGET_5200
#define OVERRIDE_OPTIONS override_options() #define OVERRIDE_OPTIONS override_options()
......
...@@ -618,10 +618,10 @@ ...@@ -618,10 +618,10 @@
if (ADDRESS_REG_P (operands[0])) if (ADDRESS_REG_P (operands[0]))
{ {
/* On the '040, 'subl an,an' takes 2 clocks while lea takes only 1 */ /* On the '040, 'subl an,an' takes 2 clocks while lea takes only 1 */
if (!TUNE_68040 && !TUNE_68060) if (TUNE_68040_60)
return "sub%.l %0,%0";
else
return MOTOROLA ? "lea 0.w,%0" : "lea 0:w,%0"; return MOTOROLA ? "lea 0.w,%0" : "lea 0:w,%0";
else
return "sub%.l %0,%0";
} }
/* moveq is faster on the 68000. */ /* moveq is faster on the 68000. */
if (DATA_REG_P (operands[0]) && TUNE_68000_10) if (DATA_REG_P (operands[0]) && TUNE_68000_10)
...@@ -846,10 +846,10 @@ ...@@ -846,10 +846,10 @@
if (ADDRESS_REG_P (operands[0])) if (ADDRESS_REG_P (operands[0]))
{ {
/* On the '040, 'subl an,an' takes 2 clocks while lea takes only 1 */ /* On the '040, 'subl an,an' takes 2 clocks while lea takes only 1 */
if (!TUNE_68040 && !TUNE_68060) if (TUNE_68040_60)
return "sub%.l %0,%0";
else
return MOTOROLA ? "lea 0.w,%0" : "lea 0:w,%0"; return MOTOROLA ? "lea 0.w,%0" : "lea 0:w,%0";
else
return "sub%.l %0,%0";
} }
/* moveq is faster on the 68000. */ /* moveq is faster on the 68000. */
if (DATA_REG_P (operands[0]) && TUNE_68000_10) if (DATA_REG_P (operands[0]) && TUNE_68000_10)
...@@ -2869,7 +2869,7 @@ ...@@ -2869,7 +2869,7 @@
"TARGET_68881" "TARGET_68881"
{ {
if (GET_CODE (operands[2]) == CONST_DOUBLE 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]); int i = floating_exact_log2 (operands[2]);
operands[2] = GEN_INT (i); operands[2] = GEN_INT (i);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment