m68hc11.md ("*ashlsi3"): Avoid saving y if we know it is dead.
* config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know it is dead. ("*ashrsi3"): Likewise. ("*lshrsi3"): Likewise. From-SVN: r55270
This commit is contained in:
parent
99ed68ea7f
commit
4c8aed1419
|
@ -1,9 +1,16 @@
|
|||
2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
|
||||
|
||||
* config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
|
||||
it is dead.
|
||||
("*ashrsi3"): Likewise.
|
||||
("*lshrsi3"): Likewise.
|
||||
|
||||
2002-07-05 Vladimir Makarov <vmakarov@redhat.com>
|
||||
|
||||
* genautomata.c (output_max_insn_queue_index_def): Take latencies
|
||||
into account.
|
||||
|
||||
2002-07-06 Stephane Carrez <stcarrez@nerim.fr>
|
||||
2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
|
||||
|
||||
* config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
|
||||
address computation and memory moves.
|
||||
|
|
|
@ -4697,16 +4697,18 @@
|
|||
if (!Y_REG_P (operands[2]))
|
||||
{
|
||||
rtx ops[1];
|
||||
int y_dead = dead_register_here (insn, iy_reg);
|
||||
|
||||
ops[0] = operands[1];
|
||||
output_asm_insn (\"pshy\", operands);
|
||||
if (reg_mentioned_p (stack_pointer_rtx, operands[1]))
|
||||
if (y_dead == 0)
|
||||
{
|
||||
ops[0] = adjust_address (operands[1], GET_MODE (operands[1]), 2);
|
||||
output_asm_insn (\"pshy\", operands);
|
||||
if (reg_mentioned_p (stack_pointer_rtx, operands[1]))
|
||||
ops[0] = adjust_address (operands[1], GET_MODE (operands[1]), 2);
|
||||
}
|
||||
output_asm_insn (\"ldy\\t%0\", ops);
|
||||
output_asm_insn (\"bsr\\t___ashlsi3\", operands);
|
||||
return \"puly\";
|
||||
return y_dead == 0 ? \"puly\" : \"\";
|
||||
}
|
||||
return \"bsr\\t___ashlsi3\";
|
||||
}")
|
||||
|
@ -5105,16 +5107,18 @@
|
|||
if (!Y_REG_P (operands[2]))
|
||||
{
|
||||
rtx ops[1];
|
||||
int y_dead = dead_register_here (insn, iy_reg);
|
||||
|
||||
ops[0] = operands[1];
|
||||
output_asm_insn (\"pshy\", operands);
|
||||
if (reg_mentioned_p (stack_pointer_rtx, operands[1]))
|
||||
if (y_dead == 0)
|
||||
{
|
||||
ops[0] = adjust_address (operands[1], GET_MODE (operands[1]), 2);
|
||||
output_asm_insn (\"pshy\", operands);
|
||||
if (reg_mentioned_p (stack_pointer_rtx, operands[1]))
|
||||
ops[0] = adjust_address (operands[1], GET_MODE (operands[1]), 2);
|
||||
}
|
||||
output_asm_insn (\"ldy\\t%0\", ops);
|
||||
output_asm_insn (\"bsr\\t___ashrsi3\", operands);
|
||||
return \"puly\";
|
||||
return y_dead == 0 ? \"puly\" : \"\";
|
||||
}
|
||||
return \"bsr\\t___ashrsi3\";
|
||||
}")
|
||||
|
@ -5449,16 +5453,18 @@
|
|||
if (!Y_REG_P (operands[2]))
|
||||
{
|
||||
rtx ops[1];
|
||||
int y_dead = dead_register_here (insn, iy_reg);
|
||||
|
||||
ops[0] = operands[1];
|
||||
output_asm_insn (\"pshy\", operands);
|
||||
if (reg_mentioned_p (stack_pointer_rtx, operands[1]))
|
||||
if (y_dead == 0)
|
||||
{
|
||||
ops[0] = adjust_address (operands[1], GET_MODE (operands[1]), 2);
|
||||
output_asm_insn (\"pshy\", operands);
|
||||
if (reg_mentioned_p (stack_pointer_rtx, operands[1]))
|
||||
ops[0] = adjust_address (operands[1], GET_MODE (operands[1]), 2);
|
||||
}
|
||||
output_asm_insn (\"ldy\\t%0\", ops);
|
||||
output_asm_insn (\"bsr\\t___lshrsi3\", operands);
|
||||
return \"puly\";
|
||||
return y_dead == 0 ? \"puly\" : \"\";
|
||||
}
|
||||
return \"bsr\\t___lshrsi3\";
|
||||
}")
|
||||
|
|
Loading…
Reference in New Issue