Commit 39250081 by Roman Zippel Committed by Roman Zippel

m68k.c (strict_low_part_peephole_ok): Don't leave the basic block.

	* config/m68k/m68k.c (strict_low_part_peephole_ok): Don't leave
	the basic block.
	* config/m68k/m68k.md (movsi_m68k): Allow certain constant when
	reload is completed.
	(peephole pattern): Convert most of them to RTL peephole pattern.

From-SVN: r128728
parent 67595cbb
2007-09-24 Roman Zippel <zippel@linux-m68k.org> 2007-09-24 Roman Zippel <zippel@linux-m68k.org>
* config/m68k/m68k.c (strict_low_part_peephole_ok): Don't leave
the basic block.
* config/m68k/m68k.md (movsi_m68k): Allow certain constant when
reload is completed.
(peephole pattern): Convert most of them to RTL peephole pattern.
2007-09-24 Roman Zippel <zippel@linux-m68k.org>
* config/m68k/m68k.c (notice_update_cc): Recognize fp compare * config/m68k/m68k.c (notice_update_cc): Recognize fp compare
(moved from fp compare patterns). (moved from fp compare patterns).
...@@ -3963,14 +3963,18 @@ bool ...@@ -3963,14 +3963,18 @@ bool
strict_low_part_peephole_ok (enum machine_mode mode, rtx first_insn, strict_low_part_peephole_ok (enum machine_mode mode, rtx first_insn,
rtx target) rtx target)
{ {
rtx p; rtx p = first_insn;
p = prev_nonnote_insn (first_insn); while ((p = PREV_INSN (p)))
while (p)
{ {
if (NOTE_INSN_BASIC_BLOCK_P (p))
return false;
if (NOTE_P (p))
continue;
/* If it isn't an insn, then give up. */ /* If it isn't an insn, then give up. */
if (GET_CODE (p) != INSN) if (!INSN_P (p))
return false; return false;
if (reg_set_p (target, p)) if (reg_set_p (target, p))
...@@ -4000,8 +4004,6 @@ strict_low_part_peephole_ok (enum machine_mode mode, rtx first_insn, ...@@ -4000,8 +4004,6 @@ strict_low_part_peephole_ok (enum machine_mode mode, rtx first_insn,
else else
return false; return false;
} }
p = prev_nonnote_insn (p);
} }
return false; return false;
......
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