Commit 0fb8241d by Gunther Nikl Committed by Bernardo Innocenti

m68k.c (output_move_const_into_data_reg, [...]): unify MOTOROLA/MIT handling of moveq

	* config/m68k/m68k.c (output_move_const_into_data_reg,
	output_move_himode): unify MOTOROLA/MIT handling of moveq
	* config/m68k/m68k.md (movsi_const0, anonymous define_insn):
	Likewise

From-SVN: r70621
parent c23b0b90
2003-08-20 Gunther Nikl <gni@gecko.de> 2003-08-20 Gunther Nikl <gni@gecko.de>
* config/m68k/m68k.c (output_move_const_into_data_reg,
output_move_himode): unify MOTOROLA/MIT handling of moveq
* config/m68k/m68k.md (movsi_const0, anonymous define_insn):
Likewise
2003-08-20 Gunther Nikl <gni@gecko.de>
* config/m68k/m68k.c (m68k_output_function_prologue): use %U in * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
label name label name
* config/m68k/m68k.c (m68k_output_function_epilogue): replace * config/m68k/m68k.c (m68k_output_function_epilogue): replace
......
...@@ -1604,41 +1604,21 @@ output_move_const_into_data_reg (operands) ...@@ -1604,41 +1604,21 @@ output_move_const_into_data_reg (operands)
switch (const_method (operands[1])) switch (const_method (operands[1]))
{ {
case MOVQ : case MOVQ :
#if defined (MOTOROLA)
return "moveq%.l %1,%0";
#else
return "moveq %1,%0"; return "moveq %1,%0";
#endif
case NOTB : case NOTB :
operands[1] = GEN_INT (i ^ 0xff); operands[1] = GEN_INT (i ^ 0xff);
#if defined (MOTOROLA)
return "moveq%.l %1,%0\n\tnot%.b %0";
#else
return "moveq %1,%0\n\tnot%.b %0"; return "moveq %1,%0\n\tnot%.b %0";
#endif
case NOTW : case NOTW :
operands[1] = GEN_INT (i ^ 0xffff); operands[1] = GEN_INT (i ^ 0xffff);
#if defined (MOTOROLA)
return "moveq%.l %1,%0\n\tnot%.w %0";
#else
return "moveq %1,%0\n\tnot%.w %0"; return "moveq %1,%0\n\tnot%.w %0";
#endif
case NEGW : case NEGW :
#if defined (MOTOROLA)
return "moveq%.l %#-128,%0\n\tneg%.w %0";
#else
return "moveq %#-128,%0\n\tneg%.w %0"; return "moveq %#-128,%0\n\tneg%.w %0";
#endif
case SWAP : case SWAP :
{ {
unsigned u = i; unsigned u = i;
operands[1] = GEN_INT ((u << 16) | (u >> 16)); operands[1] = GEN_INT ((u << 16) | (u >> 16));
#if defined (MOTOROLA)
return "moveq%.l %1,%0\n\tswap %0";
#else
return "moveq %1,%0\n\tswap %0"; return "moveq %1,%0\n\tswap %0";
#endif
} }
case MOVL : case MOVL :
return "move%.l %1,%0"; return "move%.l %1,%0";
...@@ -1717,11 +1697,7 @@ output_move_himode (operands) ...@@ -1717,11 +1697,7 @@ output_move_himode (operands)
&& INTVAL (operands[1]) < 128 && INTVAL (operands[1]) < 128
&& INTVAL (operands[1]) >= -128) && INTVAL (operands[1]) >= -128)
{ {
#if defined(MOTOROLA)
return "moveq%.l %1,%0";
#else
return "moveq %1,%0"; return "moveq %1,%0";
#endif
} }
else if (INTVAL (operands[1]) < 0x8000 else if (INTVAL (operands[1]) < 0x8000
&& INTVAL (operands[1]) >= -0x8000) && INTVAL (operands[1]) >= -0x8000)
...@@ -1821,11 +1797,7 @@ output_move_qimode (operands) ...@@ -1821,11 +1797,7 @@ output_move_qimode (operands)
&& INTVAL (operands[1]) < 128 && INTVAL (operands[1]) < 128
&& INTVAL (operands[1]) >= -128) && INTVAL (operands[1]) >= -128)
{ {
#if defined(MOTOROLA)
return "moveq%.l %1,%0";
#else
return "moveq %1,%0"; return "moveq %1,%0";
#endif
} }
if (operands[1] == const0_rtx && ADDRESS_REG_P (operands[0])) if (operands[1] == const0_rtx && ADDRESS_REG_P (operands[0]))
return "sub%.l %0,%0"; return "sub%.l %0,%0";
......
...@@ -718,11 +718,7 @@ ...@@ -718,11 +718,7 @@
} }
/* moveq is faster on the 68000. */ /* moveq is faster on the 68000. */
if (DATA_REG_P (operands[0]) && (!TARGET_68020 && !TARGET_5200)) if (DATA_REG_P (operands[0]) && (!TARGET_68020 && !TARGET_5200))
#if defined(MOTOROLA)
return \"moveq%.l %#0,%0\";
#else
return \"moveq %#0,%0\"; return \"moveq %#0,%0\";
#endif
return \"clr%.l %0\"; return \"clr%.l %0\";
}") }")
...@@ -932,11 +928,7 @@ ...@@ -932,11 +928,7 @@
/* moveq is faster on the 68000. */ /* moveq is faster on the 68000. */
if (DATA_REG_P (operands[0]) && !(TARGET_68020 || TARGET_5200)) if (DATA_REG_P (operands[0]) && !(TARGET_68020 || TARGET_5200))
{ {
#if defined(MOTOROLA)
return \"moveq%.l %#0,%0\";
#else
return \"moveq %#0,%0\"; return \"moveq %#0,%0\";
#endif
} }
return \"clr%.l %0\"; return \"clr%.l %0\";
} }
......
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